
Hacker News Scraper
hipersoft/hacker-news-scraper
Scrape Hacker News stories, comments, Ask HN, Show HN, jobs and polls by keyword, points, comments and date range. Sort by relevance or newest. Title, URL, author, points, comment count, text and HN link. Fast clean HTTP via the HN Algolia API, no setup.
Total users
2Monthly users
1Total runs
130Per item scraped
$0.004Last rebuilt
Oct 28, 2026Overview
Scrape Hacker News by keyword and filters and get back clean, structured JSON — title, URL, author, points, comment count, text, timestamps and the HN item link. Fetch stories, comments, Ask HN, Show HN, jobs, polls or the front page, filtered by points, comments and date range, sorted by relevance or newest. It runs on the public HN Algolia API over fast, plain HTTP. No account, no API key. Built for researchers, trend trackers and anyone mining HN discussion at scale.

Features
- 🗂️ Every content type —
tagsselects Stories, Comments, Ask HN, Show HN, Polls, Jobs or Front page. - 🔎 Keyword or filter-only — set a
query, or leave it empty and list purely by tag and filters. - 📊 Threshold filters —
minPointsandminCommentskeep only items that cleared a bar. - 📅 Date range —
dateFromanddateTo(ISO orYYYY-MM-DD) scope results to a window. - 🔀 Sort your way —
sortBytoggles relevance (best match) or date (newest first). - 🧹 Clean text — HTML and entities in story/comment bodies are stripped and decoded into readable
text. - ⚡ Fast, keyless HTTP — paginates the HN Algolia API automatically, up to
maxItems.
What you get

Every item becomes one clean JSON record:
{
"type": "story",
"id": "40912345",
"title": "Show HN: I built a Rust-based log parser",
"url": "https://example.com/rust-log-parser",
"author": "pg_user",
"points": 284,
"numComments": 96,
"text": null,
"storyId": null,
"parentId": null,
"createdAt": "2026-07-20T15:04:00.000Z",
"hnUrl": "https://news.ycombinator.com/item?id=40912345",
"tags": ["story", "show_hn"]
}
Output schema
| Field | Type | Description |
|---|---|---|
type |
string | Content type of the item — story, comment, poll, job, etc. |
id |
string | Unique Hacker News item ID. |
title |
string | Story or post title (null for standalone comments). |
url |
string | External link submitted with the story (null if none). |
author |
string | Username of the item's author. |
points |
integer | Score / upvote count for the item. |
numComments |
integer | Number of comments on the item. |
text |
string | Cleaned body text of the post or comment, HTML stripped. |
storyId |
integer | ID of the parent story a comment belongs to. |
parentId |
string | ID of the direct parent item in the thread. |
createdAt |
string (ISO date) | Timestamp when the item was posted. |
hnUrl |
string (URL) | Link to the item on news.ycombinator.com. |
tags |
array | HN category tags applied to the item (e.g. story, show_hn). |
Input
{
"query": "rust",
"tags": "story",
"sortBy": "date",
"minPoints": 50,
"minComments": 10,
"maxItems": 200
}
| Field | Description |
|---|---|
query |
Keyword to search. Leave empty to list by tag/filters only (e.g. all front-page stories). |
tags |
What to fetch: Stories, Comments, Ask HN, Show HN, Polls, Jobs or Front page. |
sortBy |
Relevance (best match) or date (newest first). |
minPoints / minComments |
Only items with at least this many points / comments. |
dateFrom / dateTo |
ISO date or YYYY-MM-DD lower / upper bound. |
maxItems |
Max items to return. |
Use cases
- Track how a topic (a framework, a company, a trend) is discussed on HN over time.
- Pull all high-scoring Show HN or Ask HN posts in a date range for a newsletter.
- Mine top comments on a story for sentiment or research.
- Build a dataset of front-page stories with points and comment counts.
Pricing
Pay-per-event: you're billed a small amount per run and per item scraped — you only pay for what you get. See the Pricing tab for current rates.
FAQ
Do I need a Hacker News account or API key? No. The actor runs on the public Hacker News Algolia Search API over plain HTTP — no account, login or API key.
How many items can I scrape per run?
As many as you set with maxItems. The actor paginates the Algolia API automatically until it reaches your limit.
What content types can I fetch?
Use tags to select Stories, Comments, Ask HN, Show HN, Polls, Jobs or the Front page. Leave query empty to list purely by tag and filters.
What's the output format?
Structured JSON — one record per item with type, title, url, author, points, numComments, cleaned text, timestamps, tags and the hnUrl item link. Export as JSON, CSV, Excel or via the API.
Can I filter by points, comments or date?
Yes. Use minPoints and minComments for thresholds, dateFrom / dateTo (ISO or YYYY-MM-DD) for a window, and sortBy to switch between relevance and newest-first.
Can I connect this to other apps? The Hacker News Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. It works with Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API, JavaScript/Python clients and MCP. Or use webhooks to trigger an action whenever a run finishes.
Tracking developer discussion and trends? Combine this with our other developer-data scrapers:
- Stack Overflow & Stack Exchange Scraper — questions by tag or search across Stack Exchange sites.
- GitHub Scraper — repositories and user profiles with stars, topics, licenses and leads.
- Wikipedia Scraper — full article text, summaries and pageviews in any language.
- npm Package Scraper — search and look up npm packages with metadata, dependencies and downloads.
Notes
This Actor uses the public Hacker News Algolia Search API. It is an independent tool and is not affiliated with, endorsed by, or sponsored by Y Combinator or Algolia; "Hacker News" is a trademark of its respective owner.
Input
| Field | Type | Description |
|---|---|---|
querySearch query (optional) | string | Keyword to search. Leave empty to list by tag/filters only (e.g. all front-page stories). |
tagsContent type | string · story, comment, ask_hn, show_hn, poll, job… | What to fetch. Default: "story" |
sortBySort by | string · relevance, date | Relevance (best match) or date (newest first). Default: "relevance" |
minPointsMin points | integer | Only items with at least this many points. Default: 0 |
minCommentsMin comments | integer | Only items with at least this many comments. Default: 0 |
dateFromDate from (optional) | string | ISO date or YYYY-MM-DD lower bound. |
dateToDate to (optional) | string | ISO date or YYYY-MM-DD upper bound. |
maxItemsMax items | integer | Max items to return. Default: 100 |
proxyConfigurationProxy (optional) | object | Optional. The HN Algolia API works without a proxy. Default: {"useApifyProxy": false} |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~hacker-news-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"query": ""
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/hacker-news-scraper").call(run_input={
"query": ""
})
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('hipersoft/hacker-news-scraper').call({
"query": ""
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Item scraped One HN story, comment, Ask/Show HN, job or poll with full metadata | $0.004 | $0.002 |
| API request One HN Algolia API request (up to 1000 items) | $0.001 | $0.001 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
Dribbble Shots Scraper
Scrape public design shots from Dribbble: title, high-res image, tags, likes, views and designer credit. Filter by category or sort, export JSON, CSV or Excel.
359 runs · 5 users · $0.003 / shot scrapedComputrabajo Scraper
Scrape Computrabajo job listings across Latin America (Mexico, Colombia, Argentina, Chile, Peru and more): title, company, location, salary, posted date and apply URL. Filter by country and keyword. No setup.
206 runs · 4 users · $0.002 / listing scrapedKraken Market Data Scraper
Fetch Kraken spot market data in bulk: ticker stats (ask, bid, last, 24h high/low/volume/vwap), OHLC candles for any interval, order book depth (top bids/asks), and tradable pair metadata. Fast, clean and cheap.
165 runs · 4 users · $0.001 / pair scrapedBayt Scraper
Scrape Bayt.com job listings across the Middle East (UAE, Saudi Arabia, Egypt, Qatar and more): title, company, location, posted date and apply URL. Filter by country and keyword.
134 runs · 4 users · $0.003 / job scrapedGitHub Scraper
Search GitHub and scrape repositories (stars, forks, language, topics, license, dates) or user profiles (name, company, location, bio, followers, public email, repos). Uses the GitHub REST API; optional token for higher rate limits. For developer lead generation, OSS research and recruiting.
131 runs · 7 users · $0.0008 / item scrapedRemoteOK Job Scraper
Scrape remote job listings from RemoteOK: position, company, tags, location, salary range, and full job description. One request, complete records.
126 runs · 2 users · $0.001 / job scrapedSend the site and the fields. We build it and you get it first.