Hacker News Jobs Scraper | Who Is Hiring Threads
Pricing
from $1.20 / 1,000 results
Hacker News Jobs Scraper | Who Is Hiring Threads
Turn Hacker News 'Ask HN: Who is hiring?' threads into structured job data - one row per posting, with company, location, remote flag, salary, detected skills and a link to the original comment. Up to 12 months in one run. Direct-from-company postings that never reach a job board.
Pricing
from $1.20 / 1,000 results
Rating
0.0
(0)
Developer
TQM
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Share
Hacker News Jobs Scraper collects job postings from Hacker News' monthly "Ask HN: Who is hiring?" threads — one of the highest-signal hiring sources on the internet, and one of the least structured.
It turns those free-text comment threads into structured records: company, location, remote flag, salary, detected skills and a link to the original comment.
What data do I get?
One dataset item is one job posting. Thread details are carried on every row, so a single row tells you everything without a join.
| Field | Description |
|---|---|
company | Hiring company, parsed from the comment |
location | Location as stated |
remote | Whether the posting signals remote work |
salary | Compensation as written — Hacker News has no salary field, so the format varies |
description | The full posting text |
skills | Technologies detected in the text |
commentUrl | Link to the original Hacker News comment |
commentId | Hacker News' own comment id — a stable deduplication key across runs |
depth / parentCommentId | 0 is a job post; higher values are replies, returned only if you ask for them |
threadId / threadTitle / threadUrl / threadDate | Which monthly thread this posting came from |
threadTotalComments | How large that thread was, as context |
scrapedAt | When this run collected the row |
company,locationandsalaryare parsed from free text, not read from fields. Hacker News has no structured job form — a posting is whatever the poster typed. Most follow the community'sCompany | Role | Locationconvention and parse cleanly (companyis populated on roughly 95% of rows); the ones that do not will show a wrong or missing value.descriptionalways holds the complete original comment, so anything the parser missed is still there for you to read.
How do I use it?
- Click Try for free.
- Set
monthsToScrape—3covers the last three monthly threads. - Click Save & Start.
- Export as JSON, CSV, Excel or XML from the Storage tab.
Input sample
{"monthsToScrape": 6,"techStackFilter": ["rust", "kubernetes"],"remoteOnly": true,"includeReplies": false,"maxItems": 500}
Input reference
| Option | Type | Default | What it does |
|---|---|---|---|
monthsToScrape | integer | 3 | How many past monthly threads to read, up to 12. |
techStackFilter | array | (none) | Keep only job posts (not replies) mentioning these technologies. |
remoteOnly | boolean | false | Keep only postings that mention remote or distributed work. |
includeReplies | boolean | false | Also return the discussion replies under job posts. A reply is a comment, not a vacancy, and one row is one result — so this is off by default. |
maxItems | integer | 1000 | Hard cap on postings returned across every thread. The run stops when it is reached. |
How many jobs can I get?
A busy "Who is hiring?" thread carries 200+ postings, and there is one thread per month. monthsToScrape: 12 therefore reaches roughly a year of hiring activity — a few thousand rows — in a single run.
Because one row is one posting, that number is also your bill, which is why maxItems defaults to 1000 rather than being unbounded. Raise it deliberately; the run tells you in its log when it stopped at the cap.
Because it is free text written by hundreds of different people, parsing is best-effort. company and location are extracted where the poster followed the thread's loose convention; description always holds the complete original comment, so anything the parser missed is still there to re-parse for your own fields.
Who is this for?
- Job seekers who want the whole thread as a filterable spreadsheet instead of scrolling hundreds of comments.
- Recruiters and market researchers tracking which technologies and locations appear month over month — this is one of the few datasets where you can watch the same question asked every month for years.
- Lead generation — companies posting here are hiring engineers directly, usually without a recruiter.
FAQ
Do I need a Hacker News account?
No. Everything read here is public, and there is no login or account to be banned.
Why is the data less clean than a job board?
Because Hacker News is not a job board. "Who is hiring?" is a comment thread with a loose convention, not a structured form, so parsed fields are best-effort by nature. That is also why the source is valuable: these are direct-from-company postings that never reach a job board.
Will I get blocked?
Very unlikely. The actor reads public content through Hacker News' own search index rather than hammering the site.
Is it legal to scrape Hacker News?
This actor reads public comments and extracts no private user data. Results can contain personal data — posters often include their own name or email. You should not scrape or store personal data without a legitimate reason; if unsure, consult your lawyers. See Apify's background on the legality of web scraping.
Can I export to Excel or Google Sheets?
Yes — JSON, CSV, XML and Excel from the Storage tab. Rows are flat, one posting each, so a CSV export is directly usable in a spreadsheet.
Integrations and API
Trigger runs and collect results via the Apify API, the JavaScript or Python client, or Apify's integrations — Zapier, Make, Slack, Google Drive, GitHub and webhooks. A monthly schedule timed to the first of the month picks up each new thread as it appears.
Support
Parser missed something it should have caught? Open an issue on this actor's Issues tab and include the row's commentUrl — that is exactly what makes a parser fix possible.