Hacker News Search Scraper Stories, Comments, Show HN, Ask HN avatar

Hacker News Search Scraper Stories, Comments, Show HN, Ask HN

Pricing

from $1.00 / 1,000 hn item returneds

Go to Apify Store
Hacker News Search Scraper Stories, Comments, Show HN, Ask HN

Hacker News Search Scraper Stories, Comments, Show HN, Ask HN

Search Hacker News stories, comments, Show HN, Ask HN, polls, and jobs by keyword, author, date range, points, and comment count. Full text and engagement metrics. No login.

Pricing

from $1.00 / 1,000 hn item returneds

Rating

0.0

(0)

Developer

Andrew

Andrew

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Hacker News Search Scraper — Stories, Comments, Show HN, Ask HN

Search Hacker News stories, comments, Show HN, Ask HN, polls, and jobs by keyword, author, date range, points, and comment count. Full text and engagement metrics. No login.

What you get

  • Item ID, type (story / comment / show_hn / ask_hn / poll / job), title, URL
  • Author, points, comment count, and full body text
  • For comments: parent story ID, story title, story URL — perfect for thread reconstruction
  • Created timestamp (ISO + Unix), HN permalink, and full tag list
  • Filter by date range, minimum points, minimum comments, and author
  • Sort by relevance (most upvoted matches) or date (newest first)
  • Direct export to JSON, CSV, Excel, or Google Sheets

Use cases

  • Mention monitoring — track every HN post that mentions your product, brand, or competitor
  • Market signal — spot rising tools, libraries, or trends before they hit the front page
  • Author research — pull every Show HN, Ask HN, or comment from a specific user
  • Topic datasets — build a corpus of HN discussions on a niche topic for analysis or LLM fine-tuning
  • Lead generation — find founders posting about problems your product solves

How to use

  1. Enter a Search query (e.g. openai, rust web framework) — leave empty to fetch the latest items in the chosen tag
  2. Pick an Item type — Stories, Comments, Show HN, Ask HN, Polls, Jobs, Front Page Stories, or Any
  3. Optionally filter by Author, Created after, Created before, Minimum points, or Minimum comments
  4. Choose Sort — Relevance (popular matches first) or Date (newest first)
  5. Set Max items (default 100; 0 for unlimited)
  6. Run the actor — one item per row in the Dataset tab
  7. To fetch more results, open the Key-value store tab → copy the NEXT_PAGE_ID value → paste it into Page ID on your next run

Output format

One HN item per dataset row — perfect for direct CSV, Excel, or Google Sheets export:

{
"objectID": "12345678",
"type": "story",
"title": "Show HN: My new project",
"url": "https://example.com/project",
"author": "exampleuser",
"points": 234,
"numComments": 87,
"storyText": null,
"commentText": null,
"storyId": null,
"storyTitle": null,
"storyUrl": null,
"parentId": null,
"createdAt": "2026-05-12T10:00:00.000Z",
"createdAtUnix": 1762900000,
"hnUrl": "https://news.ycombinator.com/item?id=12345678",
"tags": ["story", "author_exampleuser", "show_hn"]
}

For a comment row: commentText is populated, plus storyId, storyTitle, storyUrl, and parentId link back to the parent thread.

Pagination

Algolia HN caps relevance results at ~1000 items; date sort returns far more. The actor saves a resume cursor — the next page index — to the default Key-value store under NEXT_PAGE_ID.

  1. Open the Key-value store tab on the run page
  2. Copy the value of NEXT_PAGE_ID
  3. Start a new run and paste it into Page ID

When NEXT_PAGE_ID is null, all matching results have been fetched.

Input options

FieldTypeDescription
Search querystringKeyword(s) — leave empty for "all items in this tag"
Item typeenumStories, Comments, Show HN, Ask HN, Polls, Jobs, Front Page, Any
AuthorstringHN username (case-sensitive)
Sort byenumRelevance or Date
Created afterstringYYYY-MM-DD UTC
Created beforestringYYYY-MM-DD UTC
Minimum pointsintegerStory points ≥ N
Minimum commentsintegerStory comments ≥ N
Max itemsintegerCap per run — default 100, 0 for unlimited
Page IDstringNEXT_PAGE_ID from the previous run, to resume pagination