Most companies run their careers page on an applicant tracking system, and nearly all of those publish the postings as public JSON. This is all of them, in one schema, rebuilt every night.
| Platform | Roles | Boards |
|---|---|---|
| Workday | 943,876 | 4,017 |
| Oracle Recruiting | 344,614 | 1,323 |
| Greenhouse | 176,297 | 4,866 |
| Jibe | 141,953 | 125 |
| Paylocity | 135,118 | 9,730 |
| iCIMS | 116,743 | 1,310 |
| ADP | 101,613 | 321 |
| Workable | 75,887 | 2,757 |
| SAP SuccessFactors | 74,034 | 166 |
| BrassRing | 68,215 | 85 |
| Ashby | 62,046 | 3,367 |
| JazzHR | 58,716 | 2,598 |
| BambooHR | 55,848 | 7,747 |
| Recruitee | 52,969 | 2,843 |
| Breezy | 44,503 | 2,554 |
| Phenom | 38,596 | 47 |
| Teamtailor | 37,102 | 1,804 |
| Personio | 35,336 | 3,689 |
| Eightfold | 33,702 | 79 |
| Radancy | 28,644 | 24 |
| Lever | 24,746 | 561 |
| Amazon | 20,700 | 1 |
| Rippling | 17,722 | 1,595 |
| Taleo | 606 | 2 |
A scraper tells you what is open. This also records what closed: 2,781,521 roles observed disappearing so far. No board publishes that, and no scrape can reconstruct it, because it only exists if something was watching yesterday too.
Posted date is present on 70% of rows and country on 87%. Those are the real numbers. Where a platform does not publish a field we leave it null rather than guess, and where a date is unbounded ("Posted 30+ Days Ago") we return nothing rather than invent one that sorts correctly and is wrong.
The whole index is queryable as an API on Apify: ATS Jobs Search. One company's jobs, live, by name or domain: Company Career Page Jobs Scraper, or Workday Jobs Scraper for any Workday site. Per platform: Greenhouse, Oracle Recruiting, ADP, Workday, Ashby, Workable, BambooHR, Breezy, Personio, Teamtailor, Recruitee, Rippling, SAP SuccessFactors, iCIMS, Phenom, BrassRing, Paylocity, JazzHR. Companies with a hiring signal and published contact routes: B2B Leads Finder.