Adderley Data Apify Store

Adderley Data / Guides

Scrape company career sites into one jobs table: a measured run

Most companies' careers pages are a front for an applicant tracking system (ATS), and each ATS publishes its jobs in its own shape. This guide runs one Actor over eleven companies' careers pages at once and reports what came back, how long it took and what it would cost you, including the second run, the one a monitor pays for.

The list

So that every company named here is one you already know as a source, the list is the ATS vendors' own careers pages. Greenhouse, Workday and Employment Hero went in as links. Eight vendors went in as plain names: Ashby, Rippling, Lever, Recruitee, Breezy, BambooHR, Personio and JazzHR. A link is read directly. A name is tried as a board name on the nine ATSs that can be asked by name.

{
  "companies": [
    "https://boards.greenhouse.io/greenhouse",
    "Ashby", "Rippling", "Lever", "Recruitee", "Breezy", "BambooHR", "Personio", "JazzHR",
    "https://workday.wd5.myworkdayjobs.com/Workday",
    "https://employmenthero.com/jobs/organisations/employmenthero/"
  ],
  "maxResults": 1000,
  "incremental": true,
  "stateKey": "guide-1-ats-vendors"
}

That is the whole input for Career Site Jobs Scraper, run on Apify's datacentre proxy at its default pace of 4 requests at a time and 90 a minute, on Wednesday 30 September 2026 (Melbourne time).

What came back

SourceBoard it readOpen roles
Workdayworkday.wd5.myworkdayjobs.com/Workday (link)383
Ripplingats.rippling.com/rippling (the name "Rippling")327
Ashbyjobs.ashbyhq.com/ashby (the name "Ashby")67
Employment HeroEmployment Hero's own careers page (link)65
Greenhouseboards.greenhouse.io/greenhouse (link)20
PersonioPersonio's own board (the name "Personio")1
Test and trial boardsThree boards the names "BambooHR", "Personio" and "Breezy" also matched: two sandbox accounts on Recruitee and one trial account on Breezy HR6
AllOne dataset, one schema869
  • 804 requests, every one answered at the first attempt, none failed or refused. 710 of them were Workday's and Rippling's records for each posting, because their job lists leave out facts a row needs; 30 were board pages; 64 were name look-ups that found no board, which cost a request and no charge.
  • 9 minutes 5 seconds from start to finish, most of it those 710 records at 90 requests a minute.
  • Lever's own board exists and had no open roles that day. "Recruitee" matched only an empty Breezy HR board of that name, and "JazzHR" matched no board on any of the nine. The run said so in its log and summary rather than guessing.

What each row holds

Every row has the same fields whatever the source. How often each fact was there, as a share of the rows from each source:

SourceRowsCountryCityPay rangeWork arrangementDepartment
Workday383100%70%67%100%0%
Rippling327100%85%49%100%100%
Ashby6790%0%100%100%100%
Employment Hero65100%60%17%100%72%
Greenhouse20100%5%65%30%100%
All 86999%68%59%98%54%
  • Pay range counts rows where the posting stated a range and it came back as numbers, with the posting's own words kept beside them. The ranges were in 11 currencies, across postings in 29 countries. Nothing is estimated: where a posting states no range, the fields are empty.
  • A range that does not say per what keeps its period empty rather than guessing, which is why only 28% of rows carry one. Most of those ranges read like yearly salaries; the schema leaves that call to you.
  • Every row had its posted date and a link to the posting. Workday rows came back without a department, and Ashby's own postings give a country without a city, so those columns are empty for those sources rather than filled with a guess.

The second run: what a monitor pays for

Incremental mode was on, with a state key. The same input, run again ten minutes later:

  • 95 requests and 1 minute 39 seconds, against 804 requests and 9 minutes the first time. Workday and Rippling records are requested only for postings that are new or changed.
  • 1 posting saved: a Workday role published between the two runs, reported as NEW.
  • 869 unchanged postings skipped and not charged.
At Apify's Starter-plan price (US$2.00 per 1,000 postings saved, US$0.005 a run)Cost
First run: 869 postingsUS$1.74
Second run: 1 postingUS$0.007
Illustration, not a measurement: a daily run in which 20 postings are new or changed, for 30 daysUS$1.35

The first run is the only expensive one. After it, a scheduled run costs the start fee plus what actually changed.

Links beat names for a monitor

A name is a guess at a board's name. Here, "Ashby" and "Rippling" found their vendors' own boards, but "BambooHR", "Personio" and "Breezy" also found test and trial boards that happen to use those names, and "Recruitee" found only an empty board on another ATS. Every row carries its source and company.name, and the run summary lists every board each name matched, so nothing is hidden. For a monitor you rely on, give the board link, or pin the source (ashby:ashby, workable:acme), and each run reads exactly the same board.

Get the table where you work

One request runs the Actor and returns the rows as JSON, or as CSV with format=csv. Put the input above in input.json and use your Apify API token:

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 @input.json

That call waits at most 300 seconds, so a first run as large as this one is better started and read back when it finishes; the API page on Apify shows both. For Google Sheets without code, export the dataset as CSV from the run's Output tab, or add Apify's Upload results to GDrive integration on the Actor's Integrations tab so each run's file lands in your Drive. To run it every day, save the input as a task and give it a schedule.

Run it yourself

Career Site Jobs Scraper on Apify

It reads Greenhouse, Lever, Ashby, Workday, Recruitee, Breezy HR, Rippling, Workable, BambooHR, Personio, JazzHR, Pinpoint, Dayforce, JobAdder and Employment Hero. Workday, Workable, Pinpoint, Dayforce, JobAdder and Employment Hero boards always need their link. Not affiliated with any of those companies or with any company whose job board it reads. The runs quoted here are jIgYO66xS7qIfnwLc and a6qFpD3wzjjCYMRpP.

Published 2026-09-30.