Multi-ATS Job Board Scraper avatar

Multi-ATS Job Board Scraper

Pricing

from $2.00 / 1,000 jobs

Go to Apify Store
Multi-ATS Job Board Scraper

Multi-ATS Job Board Scraper

Extract normalized public job postings from Greenhouse, Lever, Ashby, and Workday career sites for hiring-intent lead generation and market intelligence.

Pricing

from $2.00 / 1,000 jobs

Rating

0.0

(0)

Developer

Francesco Lemma

Francesco Lemma

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Scrape and normalize public job postings from Greenhouse, Lever, Ashby, and Workday into one clean dataset.

Use it for hiring-intent lead generation, recruiting intelligence, competitive hiring research, sales prospecting, and job-market monitoring.

What this Actor does

Give the Actor a list of ATS job board URLs or company domains. It discovers supported career pages, extracts public job postings, deduplicates them, filters by keywords, and returns standardized job records.

Supported ATS sources:

  • Greenhouse — https://boards.greenhouse.io/<company>
  • Lever — https://jobs.lever.co/<company>
  • Ashby — https://jobs.ashbyhq.com/<company>
  • Workday — common myworkdayjobs.com and myworkdaysite.com public career pages
  • Domain discovery — scans a company homepage, /careers, and /jobs for supported ATS links

Common use cases

Use caseExample
Hiring-intent lead generationFind companies hiring for RevOps, Salesforce, procurement, AI engineer, or data engineer roles
Recruiting intelligenceTrack companies hiring for specific functions, locations, or seniority
Competitor monitoringWatch competitor job boards for new teams, geographies, and product areas
GTM researchBuild account lists based on current hiring signals
Job market analysisNormalize postings across several ATS platforms into one dataset

Example input

{
"startUrls": [
"https://boards.greenhouse.io/airbnb",
"https://jobs.lever.co/spotify",
"https://jobs.ashbyhq.com/ashby",
"https://adobe.wd5.myworkdayjobs.com/external_experienced/jobs"
],
"domains": [],
"keywords": ["engineer", "sales", "procurement"],
"keywordFilterMode": "basic",
"maxItems": 100,
"maxItemsPerSource": 25,
"includeDescriptions": true,
"continueOnSourceError": true
}

Input options

FieldTypeDescription
startUrlsarrayDirect public ATS board URLs. Best for predictable scraping.
domainsarrayOptional company domains. The Actor scans homepage, /careers, and /jobs for supported ATS links.
keywordsarrayOptional keywords for filtering jobs. Leave empty to return all jobs.
keywordFilterModestringtitle, basic, or full. Controls where keywords are matched.
maxItemsintegerMaximum total number of jobs returned.
maxItemsPerSourceintegerOptional per-board cap so one large company cannot consume the whole run.
includeDescriptionsbooleanInclude job description text in output. Disable for smaller/faster datasets.
continueOnSourceErrorbooleanContinue scraping other sources when one source fails.

Keyword filter modes

ModeFields searchedBest for
titleJob title onlyHigh-precision lead lists
basicTitle, department, locationBalanced precision and recall
fullTitle, department, location, descriptionMaximum recall

Output fields

Each dataset item contains:

{
"company": "spotify",
"source": "lever",
"job_id": "08d82da1-0c72-44d1-91eb-7fa22dee3d39",
"title": "Analytics Engineer II",
"department": "Platform",
"location": "Stockholm",
"remote": false,
"url": "https://jobs.lever.co/spotify/...",
"posted_at": "2026-05-13T15:23:52.322000Z",
"description_text": "...",
"matched_keywords": ["engineer"]
}

The Actor also writes source-level health information to the key-value store record SOURCE_STATUS, including per-source success/failure and item counts.

Pricing

This Actor uses pay-per-event pricing. You are charged per normalized job item returned in the default dataset.

Tips for best results

  • Use direct ATS URLs when you know them.
  • Use maxItemsPerSource when scraping several large employers.
  • Use keywordFilterMode: "title" for precise lead lists.
  • Use keywordFilterMode: "full" when you want maximum recall across descriptions.
  • Disable includeDescriptions if you only need lightweight lead data.

Notes and limitations

  • The Actor only extracts publicly available job postings.
  • Workday career URL formats vary; common public Workday job pages are supported and paginated.
  • Domain discovery depends on supported ATS links being visible from the scanned pages.
  • Greenhouse public job APIs may expose updated_at instead of the original posting date.