HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
HackerNews
API
Learning & Reference2014–2026
HackerNews / API

API

Documentation and Samples for the Official HN API

206Distinct people
257Mentions
2Explicit recommenders
13.4KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Documentation and Samples for the Official HN API

GitHub

Where it is used

  • Hacker News Scraper & API — Hacker News Scraper & API: Stories, Who is Hiring uses the official Hacker News API to fetch HN data for its outputs. It relies on the HN Firebase API as part of those official APIs. Source
  • Haiker — Haiker uses the official Hacker News API to retrieve and display content from Hacker News within the app. Source

What people are saying

HN's Firebase-based API (https://github.com/hackernews/api) makes that easy, until you want to reconstruct the threads (i.e. who replied to who) and then it's annoying. For…

dang used a recommendation phrase. 2 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 8:59:20 PM UTC.

Mentions over time

HN mentions by year257 dated mentions

Observed mentions: 2014-10-07 17:49:07 UTC to 2026-10-31 21:56:35 UTC.

01020302014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 9 mentions; 3 submissions, 6 comments20142015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 9 mentions; 0 submissions, 9 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 20 mentions; 4 submissions, 16 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 17 mentions; 3 submissions, 14 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 21 mentions; 6 submissions, 15 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 14 mentions; 1 submissions, 13 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 23 mentions; 4 submissions, 19 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 23 mentions; 3 submissions, 20 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 28 mentions; 4 submissions, 24 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 30 mentions; 6 submissions, 24 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 27 mentions; 3 submissions, 24 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 19 mentions; 0 submissions, 19 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 17 mentions; 0 submissions, 17 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC936
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC909
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC20416
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC17314
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC21615
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC14113
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC23419
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC23320
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC28424
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC30624
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC27324
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC19019
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC17017

From the project README

An excerpt from the repository, fetched Nov 12, 2026.

Read the project’s introduction
Hacker News API Overview In partnership with Firebase, we're making the public Hacker News data available in near real time. Firebase enables easy access from Android, iOS and the web. Servers aren't left out. If you can use one of the many Firebase client libraries, you really should. The libraries handle networking efficiently and can raise events when things change. Be sure to check them out. Please email api@ycombinator.com if you find any bugs. URI and Versioning We hope to improve the API over time. The changes won't always be backward compatible, so we're going to use versioning. This first iteration will have URIs prefixed with https://hacker-news.firebaseio.com/v0/ and is structured as described below. There is currently no rate limit. For versioning purposes, only removal of a non-optional field or alteration of an existing field will be considered incompatible changes. Clients should gracefully handle additional fields they don't expect, and simply ignore them. Design The v0 API is essentially a dump of our in-memory data structures. We know, what works great locally in memory isn't so hot over the network. Many of the awkward things are just the way HN works internally. Want to know the total number of comments on an article? Traverse the tree and count. Want to know the children of an item? Load the item and get their IDs, then load them. The newest page? Starts at item maxid and walks backward, keeping only the top level stories. Same for Ask, Show, etc. I'm not saying this to defend it - It's not the ideal public API, but it's the one we could release in the time we had. While awkward, it's possible to implement most of HN using it. Items Stories, comments, jobs, Ask HNs and even polls are just items. They're identified by their ids, which are unique integers, and live under /v0/item/<id>.json. All items have some of the following properties, with required properties in bold: Field Description id The item's unique id. deleted true if the item is deleted. type The type of item. One of "job", "story", "comment", "poll", or "pollopt". by The username of the item's author. time Creation date of the item, in Unix Time. text The comment, story or poll text. HTML. dead true if the item is dead. parent The comment's parent: either another comment or the relevant story. poll The pollopt's associated poll. kids The ids of the item's comments, in ranked display order. url The URL of the story. score The story's score, or the votes for a pollopt. title The title of the story, poll or job. HTML. parts A list of related pollopts, in display order. descendants In the case of stories or polls, the total comment count. For example, a story: https://hacker-news.firebaseio.com/v0/item/8863.json?print=pretty { "by" : "dhouston", "descendants" : 71, "id" : 8863, "kids" : [ 8952, 9224, 8917, 8884, 8887, 8943, 8869, 8958, 9005, 9671, 8940, 9067, 8908, 9055, 8865, 8881, 8872, 8873, 8955, 10403, 8903, 8928, 9125, 8998, 8901, 8902, 8907, 8894, 8878, 8870, 8980, 8934, 8876 ], "score" : 111, "time" : 1175714200, "title" : "My YC app: Dropbox - Throw away your USB drive", "type" : "story", "url" : "http://www.getdropbox.com/u/2/screencast.html" } comment: https://hacker-news.firebaseio.com/v0/item/2921983.json?print=pretty { "by" : "norvig", "id" : 2921983, "kids" : [ 2922097, 2922429, 2924562, 2922709, 2922573, 2922140, 2922141 ], "parent" : 2921506, "text" : "Aw shucks, guys ... you make me blush with your compliments.<p>Tell you what, Ill make a deal: I'll keep writing if you keep reading. K?", "time" : 1314211127, "type" : "comment" } ask: https://hacker-news.firebaseio.com/v0/item/121003.json?print=pretty { "by" : "tel", "descendants" : 16, "id" : 121003, "kids" : [ 121016, 121109, 121168 ], "score" : 25, "text" : "<i>or</i> HN: the Next Iteration<p>I get the impression that with Arc being released a lot of people who never had time for HN before are suddenly dropping in more often. (PG: what are the numbers on this? I'm envisioning a spike.)<p>Not to say that isn't great, but I'm wary of Diggification. Between links comparing programming to sex and a flurry of gratuitous, ostentatious adjectives in the headlines it's a bit concerning.<p>80% of the stuff that makes the front page is still pretty awesome, but what's in place to keep the signal/noise ratio high? Does the HN model still work as the community scales? What's in store for (++ HN)?", "time" : 1203647620, "title" : "Ask HN: The Arc Effect", "type" : "story" } job: https://hacker-news.firebaseio.com/v0/item/192327.json?print=pretty { "by" : "justin", "id" : 192327, "score" : 6, "text" : "Justin.tv is the biggest live video site online. We serve hundreds of thousands of video streams a day, and have supported up to 50k live concurrent viewers. Our site is growing every week, and we just added a 10 gbps line to our colo. Our unique visitors are up 900% since January.<p>There are a lot of pieces that fit together to make Justin.tv work: our video cluster, IRC server, our web app, and our monitoring and search services, to name a few. A lot of our website is dependent on Flash, and we're looking for talented Flash Engineers who know AS2 and AS3 very well who want to be leaders in the development of our Flash.<p>Responsibilities<p><pre><code> * Contribute to product design and implementation discussions\n * Implement projects from the idea phase to production\n * Test and iterate code before and after production release \n</code></pre>\nQualifications<p><pre><code> * You should know AS2, AS3, and maybe a little be of Flex.\n * Experience building web applications.\n * A strong desire to work on website with passionate users and ideas for how to improve it.\n * Experience hacking video streams, python, Twisted or rails all a plus.\n</code></pre>\nWhile we're growing rapidly, Justin.tv is still a small, technology focused company
Read the full README on GitHub

What Hacker News says

23 sources
didn't know about it. https://github.com/HackerNews/API . Checked it out, the api wouldn't have helped me: the API reponse for this flagged story doesn't indicate, that it has been flagged. https://hacker-news.firebaseio.com/v0/item/29103056.json?pri... On the other hand: they gave me an idea. I can structure the crawler differently. Right now, I am now following the next page (apparently there is a limit on the number of 'next' pages). Instead, it is possible to get the maximum item id, then just decrement the item id down and down again.
In Show HN: Page and crawler that show flagged HN submissions only
I believe this is how the main RSS news.ycombinator.com/rss works. You should only get the "frontpage". I am not sure you can filter. Maybe you could obtain something more specific building a special RSS feed through the API ( github.com/HackerNews/API )?
In RSS is wonderful
Sorry, didn't mean admitting to "absolute garbage" in a literal way. Mostly referring to statement such as: > I'm not saying this to defend it - It's not the ideal public API, but it's the one we could release in the time we had. While awkward, it's possible to implement most of HN using it. https://github.com/HackerNews/API My words may have been a bit too harsh but I still think I have a point. The only thing I could find use of the API was to get the user's details (karma, description, date created etc). Other than that, I ended up relying on scraping. Unfortunately, unless the JSON api offers write access, it won't be of much use for my app's use cases. Lets just hope the JSON Api isn't going to break anything major in the HTML of the site and there aren't any major re-designs of the site in the pipeline.
In CNLabelContactRelationYoungerCousinMothersSiblingsDaughterOrFathersSistersDaught
A bit offtopic, but I don't see much people knowing/using the Algolia API[0]. It's much better to use than the HN official API[1], since it returns the whole tree data in one request. Unfortunately (I guess this is a big reason why people don't use it), it doesn't sort the comments – if you need the orders, you'll have to parse HN HTML (or just use the official API). Still just two requests (the HN site, the Algolia API) is much better than recursively requesting a hundred requests, so I use this approach in my client[2]. [0]: https://hn.algolia.com/api [1]: https://github.com/HackerNews/API [2]: https://github.com/goranmoomin/HackerNews
In Extracting Objects Recursively with Jq
Thanks for the feature requests! Will definitely add a text zoom feature and a ‘My Posts’ category. > Any reason you're connecting to firebase rather than storing preferences locally? All of your preferences are stored locally — the firebase connection is due to the official HN API[0] implemented on Firebase. Your HN credentials never leave the app (except for news.ycombinator.com) — it’s tucked in your keychain. [0]: https://github.com/HackerNews/API
In Show HN: I developed a native macOS Hacker News client
> Does the Algolia hackernews api ( the specific API this client uses ) still require you to query in a tree like fashion, every comment item id if you want an entire page of comments? I’m using two different APIs — the inefficient API that requires you querying in a tree fashion is the HN official API[0], but there’s also the Algolia API[1], which is much faster and gives a much sensible data shape. I also do actually fetch the HN website as well — it’s needed for account/voting features. With these sources, it’s much faster than a usual client that gets it’s data from the official API. > The HN website I think is pretty ideal for the type of content its displaying, a native app doesn't give you much over having a HN tab open. I guess it’s a bit of difference on how one uses HN? I didn’t like HN tabs being mixed with other work—related t
Read the rest
abs. I felt that having an app would be a perfect solution to me, but YMMV I guess. > The only benefit I see from a native app is the ability to save articles and comments for offline reading I guess that’s one more feature that I should add to my backlog :) [0]: https://github.com/HackerNews/API [1]: https://hn.algolia.com/api
In Show HN: I developed a native macOS Hacker News client
Is there actually a search.json endpoint? https://github.com/HackerNews/API doesn't list this as a valid endpoint. Indeed, when I try to access it via curl, I get a HTTP 405 with a "Permission denied" error (same result when I try to access nonexistent-endpoint.json). Based on the HN search on the website, I'd expect the correct autocomplete to involve hn.algolia.com [0]. [0] https://hn.algolia.com/api points at https://hn.algolia.com/api/v1/search?query=... To me, this points at the need for human input with a system like this. There is a Firebase endpoint, yes, and Copilot found that correctly! But then it invented a new endpoint that doesn't exist.
In GitHub Copilot
Interesting idea. (Years ago someone once took the source code for Slashdot and created their own clone.) And a while back someone asked if the source code for Hacker News was openly available. https://news.ycombinator.com/item?id=1390685 And there's also an API. https://github.com/HackerNews/API There's lots of Wikipedia-like software available, too. I guess it depends on what you mean by "build" a community. (Though if you're trying to do it online, the key is going to be comments and maybe also individual accounts.) You could just try starting your own subreddit. Another option is just announcing meetups -- maybe an online (or live?) book club for geeks or programmers, or a geek discussion circle.
In How do you build a community like HN or similar?

Showing the 15 most recent of 23 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.