Job-postings data, read nightly at the source
Job postings, with proof of which boards are complete.
Every night, open roles are read straight from each employer’s own job board. Where the hiring platform publishes its own job total, the read is tied to that number, board by board. Where it doesn’t, the board is marked, never guessed, and a board that could not be read is never passed off as one with no openings.
The sample is five CSV files and a manifest, re-cut every night. No signup, no NDA.
| Employer job boards read | 15,614 | |
| Platform publishes its own job total | 8,317 | |
| Tied to that total | 8,159 | |
| of which provably hiring nobody | 252 | |
| Disagreed with it, kept and flagged | 17 | |
| Not reached that night | 86 | |
| No total published for that board | 55 | |
| Platform publishes no total | 7,297 |
- tied to the platform’s own published count
- reached, empty, and the platform agrees: zero
- counts disagree; the board is kept and flagged
- not reached; labelled, never shown as empty
- nothing published to tie to; labelled unverified
As of the read of 1 October 2026. Live figures update after each nightly run.
Where the data comes from
Each employer’s careers page runs on a hiring platform, and the platform serves a public feed of that employer’s openings. That feed is read directly: no aggregators, no logins, no bought data.
Three of the nine platforms publish their own job total. That total is what the night’s read is tied to.
| Platform | Boards | Own total |
|---|---|---|
| Greenhouse | 3,574 | published |
| BambooHR | 3,492 | published |
| Ashby | 2,486 | none |
| Workable | 1,875 | none |
| Workday | 1,251 | published |
| Recruitee | 1,043 | none |
| Personio | 866 | none |
| Rippling | 864 | none |
| Lever | 163 | none |
| Nine platforms | 15,614 | 3 of 9 |
What happens every night
Read
Each board’s public job feed is fetched under an identified user agent. robots.txt is obeyed, and every exclusion is written into the code. No logins, no proxies.
Tie
Where the platform publishes its own job total, the night’s count is compared with it, board by board.
Mark
Each board gets one mark: tied, disagreed, not reached, or unverified. Nothing is guessed, and a failed read never looks like an empty board.
Append
New and removed postings are added to the record with the night they were first and last seen. Nothing is back-filled.
What a row holds
Employers and vacancies only: no candidates, applicants or contacts.
Delivered nightly as JSON and CSV.
| ats, token | The platform and the employer’s own public board. Every row is keyed to it. |
| company | The employer’s name, on 10.5% of boards so far. Never guessed. |
| title, location, department, url | As the employer posted them. |
| first_seen, last_seen | The nights the posting was first and last seen. |
| extra | Since 25 September 2026: pay, seniority, years of experience, employment type, workplace, industry and country, wherever the platform publishes them. |
listed companies, on 610 boards. Measured 24 September 2026.
S&P 500 constituents with their own board here, and 12 more through a subsidiary.
Known exceptions
History is short
Recording began 29 August 2026. There is nothing earlier in the data.
S&P 500 coverage is partial
155 of 503 constituents have their own board here. Boards on Oracle Taleo, SAP SuccessFactors, iCIMS, Phenom and SmartRecruiters are not collected.
Most boards carry no name
Only 10.5% of boards carry the employer’s name. Every row still carries its board key, and names are never guessed.
One person runs it
If the nightly run stops, the files stop updating, and their dates show it.
Ask for the DDQ
The due-diligence answers cover sourcing, robots.txt exclusions, data rights and every known exception. Monthly or annual licence, or a paid 30-day pilot. Pricing on request.