Recommended Free Tools
A large nbHits value does not mean the HN search API has returned every matching story. In a query reported on September 20, 2026, the API said there were 29,152 matches but returned 1,000 hits on one page. The distinction is between the number of records matching a query and the number the endpoint makes accessible through pagination.
What the 29,152 figure actually means
In the reported query, the request targeted /api/v1/search_by_date with tags=story, the lower bound created_at_i>1756070000, and hitsPerPage=1000. The response reported nbHits=29152, returned 1,000 hits, and showed nbPages=1.Listwright’s account of the query dates it to September 20, 2026; 29,152 is a result for that particular query and date, not a permanent count of HN stories or a current total.
| # | Preview | Product | Price | |
|---|---|---|---|---|
| 1 |
|
The Phantom Tollbooth | $7.64 | Buy on Amazon |
| 2 |
|
Measures of Success Flute Book 1 | $8.95 | Buy on Amazon |
| 3 |
|
1,000 Books to Read Before You Die: A Life-Changing List | $18.99 | Buy on Amazon |
| 4 |
|
Measures of Success Percussion Book 2 | $16.95 | Buy on Amazon |
| 5 |
|
Developmental Exercises for Hacker Handbooks | $18.99 | Buy on Amazon |
As an Amazon Associate I earn from qualifying purchases.
The returned 1,000 rows amount to about 3.4% of the reported matches (1,000 divided by 29,152). That arithmetic describes the example only. It does not establish which 1,000 stories were returned or that the API selected a representative sample.
Why the count and returned rows can differ
Search systems can count matches in an index while limiting how many matching records ordinary pagination exposes. Algolia’s support explanation of the pagination limit illustrates this with 1,500 matches, 10 hits per page, and 100 pages: the reported total can exceed the default 1,000 results accessible through pagination. Algolia describes the ceiling this way: “The maximum number of hits accessible through pagination is set through the paginationLimitedTo parameter and limits the number of search results (hits).”
#1 Best Overall
Two separate limits matter. Algolia documents a maximum of 1,000 hits per page, and its default paginationLimitedTo setting separately limits the total results accessible through pagination to 1,000. Raising the page size cannot by itself raise the overall pagination ceiling.Algolia’s per-page limit documentation covers the first limit; its pagination explanation covers the second.
How to tell when a response is incomplete
- Compare
nbHitswith the number of hits actually returned and with the page count. A response showing many matches but only one page of 1,000 rows is not evidence that all matches were delivered. - Check the response’s effective request values. In the reported HN example, asking for 2,000 rows resulted in a response that echoed
hitsPerPage: 1000and supplied 1,000 rows. - Do not treat the first page as a random sample. If a query is truncated, totals, averages, and rankings calculated from the returned subset can be biased by which records are included.
Options for retrieving more records
If you control the Algolia index
An index owner can raise paginationLimitedTo as high as 20,000, according to Algolia’s documentation. The higher limit can slow searches, and Algolia warns that ordering beyond the 1,000th hit is not guaranteed. This setting is an index-owner option, not something a consumer of a public endpoint can assume they are able to change.
Rank #2
If you query the public HN endpoint
The reported HN example proposes dividing the time range into smaller windows, retrieving each window, and deduplicating repeated records by objectID. For each next request, move the upper time bound to the oldest record returned by the preceding window. Keep the initial slice’s nbHits as the original query’s reported total: a narrow or empty final slice may report zero, which is not the total for all the slices.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
- Choose a bounded time window and issue the same search with its time bounds applied.
- Save the returned records and their
objectIDvalues. Use the oldest returned timestamp to set the next window’s upper bound. - Merge records while removing duplicate IDs, since adjacent bounds may include the same boundary record.
- Continue until a slice adds no new IDs, then reconcile the collected IDs and time bounds with the original query before treating the set as complete.
This is a practical technique reported for the public endpoint, not an official guarantee that every query can be exhaustively recovered this way. Validate the boundaries and collected IDs for the query you care about. Algolia’s browse method can retrieve index records without pagination when an index owner needs bulk access, but Algolia says it should not be used for search; it is not a substitute available to an ordinary user of the public HN endpoint.Algolia’s browse documentation explains that distinction.
Rank #3
- Book - 1, 000 books to read before you die: a life-changing list (1000 before you die)
- Language: english
- Binding: hardcover
What is established about HN’s endpoint
The 29,152 count, 1,000 returned hits, and one-page response are reported for a specific query dated September 20, 2026; they are not a fresh, independently repeated reading of the public index. Algolia’s documentation establishes how its pagination limits work generally, but does not establish the public HN index’s current configuration. An archived example in the HN search repository also showed a response with 5,562 matches and a warning when a request went beyond 1,000 accessible hits, but that older example does not prove the current endpoint’s behavior.
Quick Recap
Best Value
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




