Hacker News Scraper: Stories, Comments, Show HN & HN Jobs avatar

Hacker News Scraper: Stories, Comments, Show HN & HN Jobs

Pricing

from $0.40 / 1,000 items

Go to Apify Store
Hacker News Scraper: Stories, Comments, Show HN & HN Jobs

Hacker News Scraper: Stories, Comments, Show HN & HN Jobs

Scrape Hacker News stories, comments, Ask HN, Show HN and front-page lists; search by keyword, date, points or author; and extract HN jobs from the monthly Who Is Hiring threads with remote and keyword filters. Official HN and Algolia APIs.

Pricing

from $0.40 / 1,000 items

Rating

0.0

(0)

Developer

Emilio Cisneros

Emilio Cisneros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Get Hacker News data in clean JSON/CSV/Excel. You can:

  • Search all of HN history by keywords, dates, points, comment count, author and item type (stories, comments, Ask HN, Show HN, polls, job ads).
  • Get the live lists: Top (front page), New, Best, Ask, Show and Jobs, with rank.
  • Get full comment trees in one row per story, with depth, author and plain text. Good for sentiment analysis and LLM summaries.
  • Get parsed "Ask HN: Who is hiring?" jobs every month: company, roles, locations, remote/hybrid/onsite, salary, employment type, visa sponsorship and apply links. Filter by keywords and remote only.

It uses only the official HN Firebase API and the Algolia HN Search API: no proxies, no browser, no login. It's fast and cheap.

How to use

  1. Pick a mode: keyword search, front page / Ask HN / Show HN lists, or the monthly Who is hiring thread.
  2. Add a query and optional filters (date range, minimum points or comments, author).
  3. Click Start and export stories, comments or job posts as JSON or CSV.

Why this Actor

This ActorTypical HN scrapers
Results per searchUnlimited (date-window paging)1,000 (Algolia cap)
Comment treesNested, one request per storySeparate runs or missing
Who is hiring parsingCompany, role, remote, salary, visa, URLsRaw text, or a separate paid Actor
Email harvestingNo (we don't extract personal emails)Some do
Price$0.50 / 1,000 items$0.20 to $5 / 1,000

Input examples

Stories about LLM agents with 100+ points in 2026

{ "mode": "search", "query": "llm agents", "itemTypes": ["story"], "minPoints": 100, "dateFrom": "2026-01-01" }

Current front page with comments

{ "mode": "top", "maxItems": 30, "includeComments": true }

Remote Rust jobs from the last 3 Who is hiring threads

{ "mode": "whoishiring", "hiringMonths": 3, "keywords": ["rust"], "remoteOnly": true }

All comments mentioning your product

{ "mode": "search", "query": "yourproduct", "itemTypes": ["comment"], "maxItems": 5000 }

Output

Story or comment:

{ "id": 41234567, "type": "story", "title": "Show HN: ...", "url": "https://...", "domain": "example.com", "author": "pg", "points": 312, "numComments": 128,
"createdAt": "2026-10-01T15:04:05.000Z", "text": null, "hnUrl": "https://news.ycombinator.com/item?id=41234567", "isShowHN": true, "rank": 3, "comments": [ { "id": 1, "author": "...", "depth": 1, "text": "..." } ] }

Who is hiring job:

{ "company": "Acme AI", "roles": ["Senior Backend Engineer"], "locations": ["San Francisco, CA or REMOTE (US)"], "remote": "remote", "employmentType": "full-time",
"salary": "$180k-$240k", "visaSponsorship": true, "urls": ["https://acme.ai/careers"], "postedAt": "...", "hnUrl": "...", "threadMonth": "October 2026", "text": "full post" }

Job parsing is heuristic: HN posts follow the Company | Role | Location | Remote | Salary convention loosely. The full text is always included.

Pricing (pay per event)

  • $0.0005 per item ($0.50 per 1,000) for stories, comments or jobs.
  • $0.001 per story with a comment tree, only when Include full comment tree is on.
  • Error records are free. Set a maximum cost per run and the Actor stops cleanly at your limit.

How much does it cost?

You only pay for results, never for compute time:

You getYou pay (Starter/Bronze plan price)
100 items$0.050
1,000 items$0.50
10,000 items$5.00

Apify's free plan includes $5 of usage every month, and free-plan users pay half price on this Actor, so that covers about 20,000 items at no cost. Paid plans get volume discounts (Silver -10%, Gold -20%). Set a maximum cost per run and the Actor stops cleanly at your limit.

Use cases

Brand and competitor monitoring, developer sentiment research, trend analysis, LLM/RAG datasets, tech recruiting and job-market research, and newsletter curation.

FAQ

Is it legal? It reads public data through the official, documented HN APIs. Respect the HN guidelines and the privacy of commenters when you republish data. How fresh is it? The live lists come from Firebase in real time. Algolia search usually updates within minutes.

Run it from code (API, Python, JavaScript)

curl -X POST "https://api.apify.com/v2/acts/api-co~hacker-news-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" -d '{"mode": "search", "query": "llm agents", "maxItems": 20}'
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("api-co/hacker-news-scraper").call(run_input={"mode": "search", "query": "llm agents", "maxItems": 20})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('api-co/hacker-news-scraper').call({"mode": "search", "query": "llm agents", "maxItems": 20});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

It also works from AI agents through the Apify MCP server, and with Zapier, Make, n8n, Google Sheets and webhooks. You can schedule it in the Apify Console.