Hacker News API. Search every thread.
Full-text search, front-page feeds, whole comment trees and Who is Hiring threads as JSON. The official Firebase API has no search; this one is built around it.
- Full-text search
- Whole comment trees
- Failed lookups aren't charged
Teams running monitoring, research, and enrichment pipelines
Why Social Fetch
We run the Hacker News scrapers. You build the product.
Live Hacker News data as JSON — proxies, platform changes and consistent output handled for you.
Hacker News, plus every other network
One key and one response envelope for Hacker News and 24 more platforms — profiles, posts, search, comments and transcripts.
Pricing you can reason about
One request, one credit. Know how far your balance will go before you run your next batch.
Live data on every request
Fetch public data when you ask for it — not from a shared cache.
No scraper maintenance
We handle proxies, browser changes, and platform breakages.
Built for production jobs
Run concurrent workloads with explicit statuses and request IDs.
Regular jobs. Better rates.
Running lookups every month? Get lower per-credit rates with a monthly plan. For occasional projects, choose pay as you go.
What Hacker News data can you get?
13 endpoints, one API key. Every response comes back as live JSON in the same envelope.
Profiles & channels
Look up a Hacker News account by handle or URL — bio, counts and metadata.
Lists & graphs
Page through an account's posts, videos, followers and more.
Content
Fetch a single post or video by URL, with metrics and media.
Search & discovery
Search Hacker News by keyword, hashtag or trend.
Comments
Pull comment threads and replies for any public post.
Jobs
Job listings by URL or search.
Other
More Hacker News routes on the same key.
Browse all 13 Hacker News endpoints
Profiles & channels
Lists & graphs
Content
Search & discovery
Comments
Jobs
Other
What teams build with Hacker News data
Monitoring, enrichment, research and content workflows on Hacker News data — the same API as every other platform.
How it works
Your first request in three steps.
Use TypeScript or your automation tool of choice.
Sources
+ 19 more platforms
One request
GET/v1/tiktok/profiles/
x-api-key: sk_live_••••••••
Same JSON shape
{
"data": {
"lookupStatus": "found",
"profile": {
"platform": "tiktok",
"handle": "charlidamelio",
"displayName": "charli d’amelio",
"verified": true
},
"metrics": {
"followers": 160263648
}
}
}Step 1
Create your free account
Get an API key with 100 requests included.
Step 2
Choose an endpoint
Pass a username, URL, keyword, or post ID.
Step 3
Get clean JSON
Use the response immediately or send it into your pipeline.
Works with your stack
Code, automate, or connect your AI.
TypeScript
n8n
- Make
- Apify
- MCP
- AI clients
Pricing
Social data, priced simply.
Start with 100 free credits. Monthly plans give you predictable volume and lower per-request rates.
Starter
18,000credits
$1.61 per 1k · $0.00161 per request
- Top up from $1.61 / 1k if you run out
- Up to 25 monitors
Growth
50,000credits
$1.58 per 1k · $0.00158 per request
- Top up from $1.58 / 1k if you run out
- 5 team seats
- Up to 100 monitors
Scale
150,000credits
$1.50 per 1k · $0.00150 per request
- Top up from $1.50 / 1k if you run out
- 25 team seats
- Up to 250 monitors
- Cancel anytime
- 30-day money-back guarantee
- Price locked while you stay
Need 1M+ credits, invoicing, or volume rates? Talk to us
Trust signals
DevHunt
Product Hunt
Uneed
Customers
Teams building on Social Fetch.
“Our TikTok and Instagram scrapers broke constantly. Social Fetch took us off that rotation — we ship product again.”
“Transcripts at volume from one endpoint. No broken scrapers for our small team to maintain.”
“Live profile data on every request. We never flag accounts from a stale cache.”
“Heavy concurrent load, no rate limits to negotiate. The rare API I haven't wrapped in retries.”
Hacker News API: common questions
Is there a Hacker News scraper API?
Yes. Social Fetch provides search, ranked feeds, story and polymorphic item lookup, comment-tree paging, comment ancestor context, user profile plus submissions/comments/favorites, Who is Hiring parsing, and updates/maxitem freshness polls under /v1/hackernews. Authenticate with a Social Fetch API key in the x-api-key header.
How is this different from Hacker News's own Firebase API?
HN's Firebase API (hacker-news.firebaseio.com) is free and public with no key required, and it is a fine choice for a single item or the max-item id. It has no full-text search, no ranked-feed hydration beyond raw id arrays, and no built-in comment-tree traversal — you write the recursive kids walk yourself. Social Fetch adds search, feed hydration, cursor-paged comment trees, and comment-to-root ancestor context under one envelope alongside other platforms.
How do I get the full comment thread for a story?
Call GET /v1/hackernews/stories/{id}/comments with the story id. It returns a flat comments list (each with parentId/childIds), rootCommentIds, a page block for continuation, and traversal telemetry. When page.hasMore is true, pass page.nextCursor as the cursor query param to keep paging. This route charges 3 credits per page — more than a plain item lookup — because it walks the tree server-side so you don't have to.
How do I get context for a single deep comment link?
Call GET /v1/hackernews/comments/{id}/context with the comment id. On lookupStatus: found you get data.comment, an ancestors chain toward the root, and the root data.story when available. This is the route for expanding a bare comment URL into title, thread, and reply context — it charges 2 credits per request.
Can I get a user's favorites?
Yes for public favorites via GET /v1/hackernews/users/{username}/favorites. Private or unavailable favorites return lookupStatus: private_or_unavailable with an empty items list rather than a fake empty found page. Upvoted pages are not supported.
Do you structure Who is Hiring threads?
Yes. GET /v1/hackernews/jobs/who-is-hiring discovers the current monthly Ask HN thread and returns top-level comments as rows with commentId, author, createdAt, the full plain-text text, and best-effort company, role, location, remote, salary, visa, and contact fields. Structured fields can be null even when the posting mentions them in prose — text is always the source of truth.
What's the difference between search, feeds, and Who is Hiring for jobs?
GET /v1/hackernews/feeds/jobs returns the ranked feed of standalone HN job-type items. GET /v1/hackernews/jobs/who-is-hiring parses the monthly Ask HN thread's comments into job rows instead. GET /v1/hackernews/search with type=job is keyword discovery across job postings. Pick the route that matches the corpus you actually want.
How much does the Hacker News API cost?
You buy credit packs (or use the 100 free signup credits). Most routes — search, feeds, stories, items, user profile, submissions, comments, favorites, updates, maxitem, and Who is Hiring — cost 1 credit per successful request or page. Story comment paging costs 3 credits per page and comment context costs 2 credits per request. Always check meta.creditsCharged on the response.
Does HTTP 200 always mean the story or user was found?
No. HTTP 200 means the request finished. Check data.lookupStatus where the route exposes it — found, not_found, not_story, not_comment, or private_or_unavailable (favorites only). Persist meta.requestId when you need to debug a miss.
How do I poll for new and changed Hacker News content?
Use GET /v1/hackernews/maxitem for the current high-water maxItemId to catch brand-new ids, and GET /v1/hackernews/updates for changedItemIds/changedUsernames to catch edits to existing items and profiles. Neither returns full bodies — hydrate the ids you care about with /items/{id}, /stories/{id}, or /users/{username} after filtering.
Is scraping Hacker News data legal?
Social Fetch returns publicly visible HN data via HN's own public APIs and the public favorites page. You are responsible for how you use it under Y Combinator's terms, applicable law, and your own compliance review. We do not give legal advice.
The Hacker News API in detailHow the Hacker News routes work, what they cost, and how they differ from the official API.
Why teams use Social Fetch for Hacker News
A Hacker News item URL only tells you so much on its own. GET /v1/hackernews/items/{id} resolves any numeric id — story, comment, job, poll, or pollopt — to a typed payload with data.lookupStatus and the shared fields (author, createdAt, title, text, url, score, commentCount, parentId, childIds, dead, deleted). When your pipeline already knows the id is a story, GET /v1/hackernews/stories/{id} returns the same card and a typed not_story miss if it isn't. Comment threads are the harder problem: GET /v1/hackernews/stories/{id}/comments pages a flat comment list with parentId/childIds, a page block (hasMore, nextCursor), and traversal telemetry (returnedNodes, discoveredNodes, snapshotAt), and GET /v1/hackernews/comments/{id}/context walks the opposite direction — from one comment id up through ancestors to the root story — which is exactly the lookup an alerting tool needs when it only has a deep comment link.
Author research runs through /users/{username}: the profile route returns karma, about, and createdAt, then three sibling paths page activity — /submissions (stories, polls, and jobs, newest first), /comments (the reply stream), and /favorites (public saves only; private lists come back as lookupStatus: private_or_unavailable rather than a fake empty 200, since HN never exposed favorites through its own JSON API in the first place). GET /v1/hackernews/search covers the case none of the id-based routes can: keyword discovery across stories, comments, Ask HN, Show HN, Launch HN, jobs, and polls, filterable by author, domain, url, type, minPoints, and dateRange, sorted by popularity or date.
Two more surfaces round out the catalog. GET /v1/hackernews/feeds/{feed} hydrates the ranked lists HN itself curates — top, new, best, ask, show, jobs — into full item rows instead of a bare id array, and GET /v1/hackernews/jobs/who-is-hiring discovers the current monthly Ask HN thread and parses its top-level comments into job rows with best-effort company/role/location/remote/salary/visa/contact fields (the full comment text stays the source of truth when a parse comes back null). For freshness polling without re-walking the whole corpus, GET /v1/hackernews/maxitem returns the current high-water maxItemId and GET /v1/hackernews/updates lists recently changed item ids and usernames — pair both to catch new posts and edits to old ones on the same cron tick.
How to call the Hacker News API
1. Create an API key
Sign up at Social Fetch and copy a key (
sfk_…). New accounts get 100 free credits — enough to run a search, page a feed, resolve a story, and page one story's comments against live data.2. Call the matching route
Use
/searchfor mentions and launches,/feeds/{feed}for ranked digests,/stories/{id}or/items/{id}for a known id,/stories/{id}/commentsor/comments/{id}/contextfor discussion,/users/{username}and its/submissions,/comments,/favoriteschildren for author history, and/jobs/who-is-hiringfor structured hiring rows. Sendx-api-keyon every request.3. Branch on the envelope, then bill
Check
data.lookupStatusbefore writing a row —found,not_found,not_story,not_comment, orprivate_or_unavailable. Logmeta.requestIdfor support, and bill frommeta.creditsCharged, since comment routes cost more than a plain item lookup (see pricing below).
What each Hacker News route returns
- Polymorphic item get (
/items/{id}) plus a story-only lookup (/stories/{id}) that returns a typednot_storymiss for non-story ids. - Comment tree paging by story id (
/stories/{id}/comments,pagecursor +traversaltelemetry) and upward ancestor context from a single comment id (/comments/{id}/context). - User profile (
/users/{username}: karma, about, createdAt) plus paginated submissions, comments, and public-only favorites for the same username. - Full-text search (
/search) with author, domain, url, type, minPoints, and dateRange filters across stories, comments, Ask/Show/Launch HN, jobs, and polls. - Ranked feeds (
/feeds/{feed}: top, new, best, ask, show, jobs) hydrated into full items, not bare id arrays. - Structured Who is Hiring parsing (
/jobs/who-is-hiring) and thin/maxitem+/updateshelpers for cheap freshness polling.
How much does the Hacker News API cost?
Most routes charge 1 credit per successful request or page. Story comment paging (GET /v1/hackernews/stories/{id}/comments) charges 3 credits per page; comment context (GET /v1/hackernews/comments/{id}/context) charges 2 credits per request. Credits never expire on pay-as-you-go packs. Confirm every response with meta.creditsCharged.
Social Fetch vs the official Hacker News API
Hacker News Firebase API (hacker-news.firebaseio.com) is free and public — fine for a single item or max-item id. It has no full-text search, no feed hydration beyond id arrays, and no comment-tree traversal. Social Fetch adds search, feed hydration, cursor-paged comment trees, and ancestor context under one envelope alongside Reddit, Telegram, and X.
Pull your first Hacker News data.
Run a live Hacker News request in the playground. 100 free credits, no card, JSON back in seconds.
No credit cardSign up in 30 seconds withGoogleGitHub