Adderley Data Apify Store

Adderley Data / Guides

Job postings API: search 1.2 million postings from company career sites

Most companies publish their open roles through an applicant tracking system (ATS), and each ATS serves a public job board in its own shape. Adderley Data crawls the public job-board APIs of eight of them every night and keeps the postings in one index. Career Site Jobs Scraper searches that index by title words and place, so you can query a job postings dataset across about 18,000 company career sites without knowing which companies to name. This page says what the index holds, how a search reads it, what a run took when we measured it, and where it stops.

What the index holds

When counted on 3 November 2026 the index held 1,214,775 postings from about 18,000 company boards. Each posting is kept as its board's list states it: title, company, location, department, work arrangement, employment type, dates and a link, in the job.v1 schema. Postings by system:

SystemPostingsHow it is read
Workday932,592Newest first every second night; in full on 31 October 2026
Greenhouse153,897In full every night
Ashby60,364In full every night
Personio21,670In full every night
Recruitee19,207In full every night
JazzHR18,897In full every night
Pinpoint4,812In full every night
Lever3,336In full every night

By the country each board's list states: United States 228,329, United Kingdom 20,009, India 16,763, Canada 16,312, Germany 14,515, Netherlands 10,918, Singapore 9,528 and 112 more countries. Two in three postings, 809,010, name no country in their list at all, Workday's above all. That is why a country search also reads place names, as below.

The boards were found in Common Crawl's public index files, not by crawling companies' websites, and each board is read through the public API or feed its ATS serves for the company's own careers page, with no login and no key. The crawl honours each host's robots.txt and keeps to 90 requests a minute per host. The index holds no posting text and no person's name or contact details.

How a search reads it

A search is a run of the Actor with Companies left empty:

curl -X POST "https://api.apify.com/v2/acts/adderleydata~career-site-jobs-scraper/run-sync-get-dataset-items?format=json" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"keywords":["software engineer"],"locations":["United States"],"maxResults":20}'
  • Title words. Every word of a keyword must be a whole word of the title, in any order, and a plural counts: "data engineer" matches "Senior Data Engineers" and not "Senior Database Engineer". Any one keyword is enough.
  • Places. A country matches the postings its board places there, and postings that name no country but name a state, province or large city in it: "Austin, TX" for United States, "München" for Germany. A place that is not a country matches as whole words, so "London" also matches London, Ontario; filter on location.country where that matters.
  • Other filters. sources keeps some of the eight systems, workArrangement keeps postings whose board states remote, hybrid or on-site, and departments and a publication window work as on named boards.
  • Order and cap. The newest matches come first, by the date each posting states, and the run stops at maxResults, which is also your cost cap. Each posting saved is charged; a search that matches nothing costs only the run's start.
  • As a feed. With incremental mode on and the same input on a daily schedule, each run returns only the postings that are new or changed since the last one, and unchanged postings are not charged: a daily job posting feed for the titles and places you choose.

A measured run

Software engineers in the United States, 20 results, on the Actor's default memory of 1 GB, 6 November 2026 (run 3nIzRfOKTQ5oXffSZ):

  • 48 of the index's shards read, 1,037,339 postings checked, 10,233 matched; the newest 20 saved.
  • 32 seconds from start to finish. 20 requests for the postings' own Workday records, which carry the posted date and pay their lists leave out; 17 answered first time.
  • US$0.04 to the person running it at the Starter plan's prices of that day, for 20 postings.

Five more searches the same morning, each saved as a ready-made task on the Actor's page: software engineers in Australia, 100 rows in 55 seconds; remote data roles, 200 rows in 43 seconds; nurses in Texas, 100 rows in 75 seconds; product managers in London, 100 rows in 75 seconds; Workday postings in Germany with their full text, 50 rows in 86 seconds. Every run finished inside the five minutes Apify allows a single request to wait.

What a day of crawling costs

The crawl runs on Apify like any other Actor, at our cost. Measured on 3 November 2026: Greenhouse, Lever, Ashby, Recruitee, Personio, Pinpoint and JazzHR read in full took 1 hour 55 minutes on 2 GB of memory, 15,624 list requests, 98.7% answered first time, US$0.89. Workday read newest first took 3 hours 33 minutes, 9,993 list requests, 99.7% answered first time, US$2.87 on 4 GB; it peaked at 1 GB, so from 6 November it runs on 2 GB. Workday read in full on 31 October took 6 hours 18 minutes and 80,322 list requests, US$5.36. The first scheduled reads, on the night of 6 to 7 November: the seven systems in 2 hours 27 minutes, US$1.16; Workday's new postings in 16 minutes, 17 hours after its previous read, US$0.12.

Where it stops

  • No text for four systems. With full descriptions asked for, a matched posting's text is read from Greenhouse, Workday, Pinpoint and JazzHR. Lever, Ashby, Recruitee and Personio postings come without it for now; their text comes with a run that names their boards.
  • Workday postings that have closed. Reading Workday newest first adds its new postings but cannot see one close, so a Workday posting that closed after Workday's last full read can still match. Its own record is read before it is saved, and a posting the record says is gone, or refuses, is left out uncharged and the next match takes its place. In our searches of 6 November such postings were between 1 in 20 and 3 in 10 of the matches.
  • No EXPIRED rows from a search. A board the crawl cannot read on a given night drops out of the index for that night, so absence from the index does not prove a posting closed. A search in incremental mode reports new and changed postings only; a run that names the company's board reports closed ones.
  • One job on two sites. Some companies list the same job on two of their Workday career sites. The index holds it once per site; a search returns it once.
  • Not every company. The index holds the boards Common Crawl has seen on these eight systems, and only what each board publishes. A company on another ATS, or one whose board was not found, is read by naming its board link in Companies, on fifteen systems.

Adderley Data is not affiliated with, endorsed by or sponsored by Greenhouse, Lever, Ashby, Workday, Recruitee, Personio, Pinpoint, JazzHR or any company whose postings the index holds. Each company's postings remain its own: analyse them, do not republish them.

Published 2026-11-06.