ActorStack.dev

Hacker News Who is Hiring as data: fifteen years of threads

The monthly Who is Hiring thread is free text with a convention. How it becomes rows, how often each field can be parsed, and what is withheld because some posts are people.

By Oswaldo Carabano7 min read

Short answer

Hacker News Who is Hiring threads have been posted every month since April 2011, and the Algolia HN Search API serves them with no key. The Hacker News Who is Hiring Scraper turns each top-level post into a row: on 848 company posts from July to October 2026 it parsed the company domain on 80.8%, roles on 76%, a salary range on 37% and a contact email on 28.8%. Grouped by domain over twelve months, 1,822 companies came from 3,475 posts, and 34.6% posted more than once. Personal-domain addresses are hidden by default, and the job-seeker threads are off by default because their posts are individuals.

Key points

  • Hacker News Who is Hiring threads exist for every month since April 2011, and the Algolia HN Search API returned them without a key on 10 October 2026.
  • On 848 Hacker News company posts from July to October 2026, a salary range was parsed from 37% and a contact email from 28.8%.
  • Over twelve monthly threads to October 2026, 1,822 hiring companies came from 3,475 posts, and 34.6% of them posted more than once.
  • Personal-domain addresses — 19 of 269 addresses in company posts — are hidden by default in both the email list and the raw text.
  • The Who wants to be hired thread is off by default because its posts are individuals looking for work, not companies.
On this page6 sections

Every month since April 2011, a Hacker News account posts “Ask HN: Who is hiring?” and companies reply with one top-level comment each. The format is a convention — company, location, roles, a link, often a salary, separated by pipes — and a convention is something a parser can lean on but never trust. This guide is about where that convention holds.

Where the threads come from

Two public APIs serve Hacker News. Y Combinator publishes a Firebase-based API on GitHub that serves items one by one; reading a thread of several hundred comments through it means one request per comment. The Algolia HN Search API adds search by tag and date, and a request without any key returned the latest Who is hiring thread on 10 October 2026. The Hacker News Who is Hiring Scraper reads the Algolia API, one request per thread, and does not request pages from news.ycombinator.com itself.

That distinction matters for robots.txt. news.ycombinator.com/robots.txt, fetched on 10 October 2026, sets a 30-second crawl delay and disallows action paths such as voting, replying and flagging. The Algolia host's robots.txt returned 404 the same day. The archive behind the API holds 184 monthly threads and about 93,700 company posts.

Months are addressed the way a scheduled job needs them: 2026-10, October 2026, latest or latest-1. A monthly schedule with latest and a dedupe on postId is the simplest feed, with one caveat — the thread opens on the first weekday of the month and keeps growing for days, so a run on the first sees about 100 posts where the finished September 2026 thread had 254.

From free text to fields

On 848 company posts from the July to October 2026 threads, the parse rates were:

FieldFilledSource of the value
company91%First line, or an “At X we are hiring” opening
domain80.8%Website, careers subdomain or a corporate email
roles76%First line, role lists and bullets
stack63%111 recognised technologies
salaryMin / salaryMax37%Every band, with currency and period
contactEmails28.8%De-obfuscated, personal domains removed
visaSponsorship8.7%True 3.5%, false 5.2%

Of 284 posts that stated a salary currency, 252 were USD, 19 EUR, and the rest GBP, CAD, PLN, AUD and CHF. A post that lists several bands keeps all of them in salaries; the top-level minimum and maximum are the first band. Where a post says nothing, the field is null — the original text and HTML are always beside the parsed fields, so a null can be checked.

Latin America eligibility, three states

latamEligible answers whether someone in Latin America can apply, and it has three values because posts have three states. On the 848 posts: true on 7.1% — a Latin American place in the location, or remote worldwide or Americas; false on 65.9% — remote restricted to another region or an office elsewhere; null on 27.0%, where the post does not say. latamSignals records the words behind each decision, such as remote:worldwide, so a reader can disagree with a specific row.

Companies across months

With outputType: companies, every post a company made in the chosen months merges into one row, grouped by domain, or by normalised name when no domain is found. Over twelve threads from November 2025 to October 2026, 1,822 companies came from 3,475 posts; 84.0% grouped by domain. 34.6% posted more than once and 18.7% in three months or more, which is a repeat-hiring signal no single month shows.

The aggregated salary range takes the lowest and highest bound of the company's most common currency and period, and never mixes currencies; every band stays listed with the month it came from. Filters apply to posts before grouping, so a remote-only company list is built from those companies' remote posts only, not from everything they ever posted.

For startup hiring with structured salary and equity rather than free text, the Wellfound guide covers a source that publishes them as fields; for a Latin American board with a documented API, Get on Board.

Posts that are people

Company posts are delivered with corporate and role addresses as published. Addresses on personal domains — 19 of 269 addresses in the measured company posts — are removed from contactEmails and hidden inside rawText and rawHtml unless includePersonalEmails is on. The author's Hacker News username is delivered as shown.

The Who wants to be hired thread, and the SEEKING WORK posts of the freelancer thread, are written by individuals looking for work. Both threads are off by default. When added, every email, phone number and CV link in those posts stays hidden unless personal emails are enabled, which the input says to do only with a lawful basis. In company mode the job-seeker thread is not read at all. The email pattern never uses personal addresses, and a pattern backed by observed addresses was found for 4 of 480 domains — the other 476 got a free guess marked inferred.

How this source compares with the other four, including on people data, is in the cluster overview.

What it costs

A post is $0.004 and a company row $0.01. Measured on Apify on 2 October 2026: the latest month at 100 posts cost $0.40 in 5 seconds; twelve months merged into 100 companies cost $1.00 in 55 seconds. A month that does not exist yet returns one explanatory error row and costs nothing.

input.json
{
  "outputType": "companies",
  "months": ["latest", "latest-1", "latest-2", "latest-3", "latest-4", "latest-5"],
  "maxItems": 500
}

Frequently asked questions

Is there an official Hacker News API?
Yes. Y Combinator publishes a Firebase-based Hacker News API on GitHub, item by item. The Algolia HN Search API adds full-text and tag search, which is what makes fetching a whole hiring thread in one request practical.
Why does the current month have so few posts?
The thread opens on the first weekday of the month and keeps growing for days. On 1 October 2026 it held about 100 posts, against 254 for the whole of September 2026.
Does Hacker News robots.txt apply?
news.ycombinator.com/robots.txt sets a 30-second crawl delay and disallows action paths such as voting and replying. The Actor reads the Algolia API host instead, whose robots.txt returned 404 on 10 October 2026.

Sources

Every URL below was requested and returned a page on the date shown.

  1. Platform docschecked 10 Oct 2026
    Hacker News Search APIAlgolia
  2. Platform docschecked 10 Oct 2026
    Hacker News API (Firebase)Y Combinator, on GitHub
  3. Site declarationchecked 10 Oct 2026
    news.ycombinator.com/robots.txtHacker News
  4. Law or regulatorchecked 18 Aug 2026
    Art. 14 GDPR — Information to be provided where personal data have not been obtained from the data subjectRegulation (EU) 2016/679
  5. Operator claimchecked 10 Oct 2026
    Hacker News Who is Hiring Scraper — Actor README and input schemaActorStack / Apify Store
A laptop screen showing a plain text-mode terminal with a command prompt.
Tech jobsGuide

Get on Board API

Get on Board documents a public API that needs no key. What it returns, how it pages, and why its salary is a monthly USD conversion rather than the number the company posted.

7 min
A laptop screen showing a plain text-mode terminal with a command prompt.
Tech jobsGuide

Scrape elempleo.com

elempleo.com caps every search at 10,000 results, hides some employers and publishes salaries as bands with a decimal comma. How each of those is handled, and what the site's robots.txt and terms say.

7 min
A laptop screen showing a plain text-mode terminal with a command prompt.
Tech jobsGuide

Tech job postings dataset

Get on Board, Torre, LinkedIn, Hacker News and elempleo.com publish job postings in five different shapes. What each source gives you, what it leaves out, and what each one says about being read by a machine.

8 min