Facts
Every number on this page comes from the daily snapshot that every page of this site and /public/site-stats share, and every one of them can be reproduced by anyone with a terminal and no account. That includes the numbers that do not flatter us.
| Live: rows you can page out of the API | 2,468,470 |
| Withheld: held, deliberately not served | 1,017,399 |
| Closed: roles retained with a closure date and reason | 8,985,128 |
| Total ledger | 12,470,997 (and 2,468,470 + 1,017,399 + 8,985,128 = 12,470,997, exactly) |
| Employers | 139,834 |
| Countries | 236 |
| Posted in the last 7 days | 172,916 |
| Measured | 2026-10-29T04:55:52Z |
| Breaches the employer-direct rule, or comes from a discovery-only source | 417,117 |
Reversible doubt: excluded by default, reachable with ?quality=all | 126,955 |
| Employer asked to be removed | 0 |
| A re-crawl of an advert we already serve under another id | 440,749 |
| Held because of who posted it (staffing agency or job board acting for the employer) | 27,634 |
| Other API holds (portal hold, partner withdrawal, “Copy of” re-posts) | 4,944 |
Withheld is not the same as deleted. The rows stay in the ledger and stay counted here; they are simply not in the set a caller receives by default. An aggregator republishing someone else's advert, a staffing agency placing candidates at third parties, and a job board hosting an advert on an employer's behalf are all real listings. They are just not employer-direct, which is the only thing we sell.
| employer_ats (28 providers) | 1,634,348 |
| direct (4 providers) | 820,145 |
| government (2 providers) | 13,977 |
adzuna, apify_all_jobs, apify_fantastic_jobs, apify_job_listings, apify_xing, arbeitnow, arbeitsagentur, careerjet, eures, france_travail, himalayas, jobicy, jooble, landing_jobs, remoteok, remotive, the_muse, weworkremotely, working_nomads
They include job boards, aggregators and public employment services that JOA uses for discovery only. The test is checkable: none of them should ever appear in a response you receive.
| Agency flag (stated by the source) | 756 (0.0% of live rows) |
| Engagement (stated by the source) | 4,667 (0.2% of live rows) |
| Agency flag (established) | 7,841 (0.3% of live rows) |
| Engagement (established) | 12,465 (0.5% of live rows) |
You would find this out on evaluation day regardless. Better that it comes from us, on the page we invite you to check, than from your own pipeline three weeks in. The full field-by-field breakdown is on coverage.
| The figures on this page | curl https://api.jobopportunitiesapi.org/public/coverage |
| How recently every live row was re-confirmed | curl https://api.jobopportunitiesapi.org/public/freshness |
| Every provider, and the ones we refuse | curl https://api.jobopportunitiesapi.org/public/providers |
| Employer counts, per country | curl https://api.jobopportunitiesapi.org/public/coverage/employers |
| Actual rows, with a free key | curl -H 'Authorization: Bearer YOUR_KEY' 'https://api.jobopportunitiesapi.org/v1/jobs?limit=5' |
The statistics above answer with no key and with Access-Control-Allow-Origin: *, so they work from a browser console too. Actual job rows need a free Primary key now: no card, and it takes about a minute at /register. If a number on this page disagrees with what those endpoints return, the endpoints are right and we have a bug: tell us.
Measured 2026-10-29T04:55:52Z. The report is rebuilt on a schedule rather than per request, because counting it on every request took 24 seconds and returned 503s, so this page tells you when it was true rather than implying it is true this instant.
Want pay and time-to-fill instead of row counts? See Market Signals.
Reports: the latest is Employer Job Postings in Europe and North America: JOA Job Market Report, September 2026 (September 2026), free to read, listen to and reuse under CC BY 4.0.