Hacker News "Who is Hiring" Jobs Scraper
Pricing
from $2.00 / 1,000 job scrapeds
Go to Apify Store
Hacker News "Who is Hiring" Jobs Scraper
Scrape every job listing from the latest Hacker News monthly Who is Hiring thread. Company, role, location, remote flag, salary, links, and emails for each post.
Pricing
from $2.00 / 1,000 job scrapeds
Rating
0.0
(0)
Developer
Andrew
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
4 days ago
Last modified
Categories
Share
Extract every job posting from the latest Hacker News monthly "Ask HN: Who is hiring?" thread — company, role, location, remote flag, salary, and contact links in a single run.
What you get
- Company name and role parsed from the first line of every top-level comment (the HN convention)
- Location and a
isRemoteflag detected from the post body - Pipe-separated fields (e.g.
Company | Role | Location | REMOTE | Salary | Apply) extracted as a structured array - Apply URLs — every link in the post (careers page, job board, ATS, founder Twitter, etc.)
- Emails — every contact email referenced in the post
- Full plain-text and original HTML of each posting
- Author, comment URL, and timestamp so you can link back to the HN comment
- Auto-detects the latest monthly thread (no need to look up the story ID)
Use cases
- Job search aggregation — pipe live YC/HN startup roles into your own job board, Slack, or Notion
- Recruiter sourcing — surface companies hiring for specific stacks ("Rust", "Elixir", "ML")
- Lead generation — capture every careers page and recruiter email mentioned in the thread
- Remote job hunting — filter to remote-only postings in one click
- Hiring trend analysis — track month-over-month volume by city, stack, or salary range
How to use
- (Optional) Paste a specific HN Story ID to scrape an older monthly thread; leave empty for the latest
- (Optional) Toggle Remote only to drop in-office postings
- (Optional) Add a Keyword filter like
Rust,Python,Berlin, orSenior - Set Max Items (
0= every posting in the thread) - Run the actor — results land in the Dataset tab
- Export to JSON, CSV, Excel, or Google Sheets directly from the Apify console
Scrape every remote posting from this month
{"remoteOnly": true,"maxItems": 0}
Scrape Rust roles from a specific historical thread
{"storyId": "47975571","keyword": "Rust"}
Output format
One dataset record per top-level job comment:
{"commentId": 47976000,"storyId": 47975571,"storyTitle": "Ask HN: Who is hiring? (May 2026)","author": "chrisposhka","createdAt": "2026-05-01T15:00:17.000Z","createdAtUnix": 1777647617,"text": "Pathos AI | Senior Software / AI Engineer | NYC (hybrid, 3-4 days onsite) | Full-time | $180-200K + equity | VISA\n\nPathos is an oncology biotech...","textHtml": "Pathos AI | Senior Software / AI Engineer | NYC ...","commentUrl": "https://news.ycombinator.com/item?id=47976000","firstLine": "Pathos AI | Senior Software / AI Engineer | NYC (hybrid, 3-4 days onsite) | Full-time | $180-200K + equity | VISA","isRemote": false,"isHiring": true,"urls": ["https://pathos.com/careers"],"emails": ["jobs@pathos.com"],"pipeParts": ["Pathos AI","Senior Software / AI Engineer","NYC (hybrid, 3-4 days onsite)","Full-time","$180-200K + equity","VISA"]}
Parameters
| Field | Default | Description |
|---|---|---|
| HN Story ID | empty | Specific thread ID (e.g. 47975571). Leave empty to auto-detect the latest monthly thread |
| Max Items | 0 | Maximum job comments to return. 0 = all top-level comments |
| Remote only | false | Only return postings that mention REMOTE |
| Keyword filter | empty | Case-insensitive substring filter on the comment body |
Notes
- The HN convention is one company per top-level comment, with the first line typically formatted as
Company | Role | Location | REMOTE/ONSITE | Salary | Apply - The
pipePartsarray gives you a quick way to slice that convention into spreadsheet columns - Heuristic fields (
isRemote,firstLine,pipeParts) are best-effort — some posters break the convention. Use the fulltextfield for downstream parsing - Each run hits two free Algolia HN endpoints — no API key required