ATS Jobs Scraper - Workday, Greenhouse, Lever, Ashby & More
Pricing
from $0.60 / 1,000 job postings
ATS Jobs Scraper - Workday, Greenhouse, Lever, Ashby & More
[💵 $1.00 / 1K] Scrape open jobs across 7 ATS platforms - Workday, Greenhouse, Lever, Ashby, SmartRecruiters, Recruitee, Personio - in one unified schema. Auto-detects each company's ATS. Monitoring mode returns only new jobs since your last run.
Pricing
from $0.60 / 1,000 job postings
Rating
0.0
(0)
Developer
WebData Labs
Maintained by CommunityActor stats
0
Bookmarked
12
Total users
8
Monthly active users
6 days ago
Last modified
Categories
Share
ATS Jobs Scraper - Workday, Greenhouse, Lever, Ashby, SmartRecruiters, Recruitee, Personio
Scrape open jobs across 7 major ATS platforms in one run, one unified schema. Give it company slugs; it auto-detects which ATS each company uses and returns clean, enriched job rows. Turn on monitoring mode to get only the jobs posted since your last run.
Most ATS scrapers cover a single platform and hand back that platform's raw shape. This Actor reads the official public job-board APIs of Workday, Greenhouse, Lever, Ashby, SmartRecruiters, Recruitee, and Personio, auto-detects the ATS per company, and normalizes everything into one consistent schema with remote flags, departments, locations, and posting dates - ready for recruiting, sourcing, job-board aggregation, or B2B sales-signal workflows.
✅ What you get / ❌ what this isn't
| This Actor gives you | This Actor is not |
|---|---|
| Open jobs from 7 ATS platforms in one unified schema | Not a job-board with login-gated or paid postings |
| Automatic ATS detection per company (or force it with a prefix) | Not a company-discovery tool (you provide the slugs) |
| Monitoring mode: only new jobs since your last run, per company | Not affiliated with any of the ATS vendors |
| Per-company roll-up: which ATS, total roles, new roles, remote count, top departments | Not a resume or candidate scraper |
| Reliable official/public JSON reads (no anti-bot, no proxy needed) | Not a guarantee a company uses one of these ATS |
🔎 Why use this Actor
- Aggregate open roles across many companies without writing seven integrations.
- Monitor hiring on a schedule and pay only for new postings -
onlyNewJobsremembers what you have seen per company and pushes just the delta. - Track which companies are hiring for a role - a strong B2B buying signal.
- Build or refresh a niche job board from startup, tech, and enterprise employers (Workday adds the Fortune-500 tier).
- Feed normalized job rows into spreadsheets, an ATS/CRM, or an LLM pipeline.
🗂️ What data you get
| Field | Type | Description |
|---|---|---|
company | string | Company board slug |
ats | string | workday, greenhouse, lever, ashby, smartrecruiters, recruitee, or personio |
title | string | Job title |
department, team | string | Org grouping when provided |
location | string | Primary location |
isRemote | boolean | Remote detection across all sources |
employmentType | string | Full-time/contract etc. when provided |
postedAt | string | Posting date (normalized, when the ATS exposes it) |
url, applyUrl | string | Job and apply links |
Plus a per-company summary row: ATS used, total jobs, new jobs (in monitoring mode), remote count, unique departments/locations, top departments, and newest posting date.
👥 Who it's for
- Recruiters and sourcers tracking open roles across many employers.
- Job-board and aggregator builders.
- B2B sales/RevOps using hiring as an intent signal.
- Market researchers tracking hiring trends.
- Data teams building normalized jobs datasets.
Example tasks
- Scrape Greenhouse jobs for a company
- Scrape jobs across Greenhouse, Lever and Ashby
- Monitor a startup's open roles
⚙️ How to scrape ATS jobs
- Open the Actor on Apify.
- Enter company board slugs (for example
stripe,bunq,boschgroup). Force an ATS with a prefix (lever:palantir,workday:adobe) or paste a full job-board URL. - Optionally enable
onlyNewJobsfor scheduled monitoring. - Run the Actor.
- Open the dataset view for
Job postingsorCompany summaries. - Export JSON, CSV, Excel, HTML, RSS, or XML, or call the Actor through the Apify API.
📥 Input
{"companies": ["stripe","recruitee:bunq","smartrecruiters:boschgroup","https://adobe.wd5.myworkdayjobs.com/external_experienced"],"maxJobsPerCompany": 200,"onlyNewJobs": false,"includeDescription": false}
📤 Output
{"recordType": "job","company": "ramp","ats": "ashby","title": "Director, Performance Marketing","department": "Marketing","location": "New York, NY (HQ)","isRemote": true,"employmentType": "FullTime","postedAt": "2026-06-11T17:21:26.410+00:00","url": "https://jobs.ashbyhq.com/ramp/..."}
🔁 Monitoring mode (only new jobs)
Set onlyNewJobs: true and run the Actor on a schedule. The first run returns all current postings and initializes a per-company memory on your account; every following run pushes only jobs that were not seen before, so a daily check of a stable company can cost a fraction of a cent. Each company summary still reports totalJobs, newJobs, and previouslySeenJobs, so you always know the full picture.
💵 How much does it cost?
The launch price is about $1.00 / 1,000 job postings, tier-discounted for higher Apify plans. One job posting is one charged result; company summary rows are part of the same output. In monitoring mode you are charged only for the new postings pushed.
⚠️ Limits and caveats
- This Actor reads the public job-board APIs/endpoints of the 7 ATS platforms. It is not affiliated with them.
- Companies run concurrently (five at a time by default). Transient connection errors, rate limits, and 5xx responses are retried with exponential backoff.
- You provide the company board slugs. The Actor enriches them; it does not discover which companies exist.
- Unprefixed slugs auto-detect across Greenhouse, Lever, Ashby, SmartRecruiters, Recruitee, and Personio. Workday runs only with a
workday:prefix or a myworkdayjobs.com URL because tenant discovery needs extra probing; the careers-page URL is the most reliable Workday input. - Field availability varies by ATS: Workday's list endpoint exposes only a relative posting age (kept in
postedOnRaw), Personio does not expose posting dates, and SmartRecruiters' list endpoint does not include the ad body. - A company is found only if it uses one of these ATS and has public postings; otherwise the company row is returned with
found: false.
🧩 Related Actors
- Website Tech Stack Detector - find the tools a company's site runs.
- Website Contact Extractor - turn company domains into outreach-ready emails.
- Shopify Store Analyzer - catalog and contact intelligence for Shopify stores.
- Lead List Deduplicator - clean and merge enriched rows before CRM import.
❓ FAQ
How does ATS auto-detection work?
For an unprefixed slug, the Actor checks Greenhouse, Lever, Ashby, SmartRecruiters, Recruitee, and Personio in order and uses the first that returns open postings. Force one with a prefix: greenhouse:, lever:, ashby:, smartrecruiters:, recruitee:, personio:, or workday:.
Where do I find a company's board slug?
It's the company identifier in its careers URL - for example boards.greenhouse.io/stripe, jobs.lever.co/palantir, bunq.recruitee.com, everphone.jobs.personio.de, or careers.smartrecruiters.com/BoschGroup. You can paste the full URL too.
How do I scrape a Workday company?
Paste its careers URL (for example https://adobe.wd5.myworkdayjobs.com/external_experienced) or use workday:adobe. With a bare slug the Actor probes the tenant's Workday host and career-site name automatically; if discovery fails, use the URL.
How does monitoring mode remember what it has seen?
The Actor keeps a per-company set of job IDs in a named key-value store on your Apify account (ats-jobs-scraper-delta-state). Delete that store to reset the memory.
Can it return job descriptions?
Yes for Greenhouse, Lever, Ashby, Recruitee, and Personio - turn on includeDescription. Workday and SmartRecruiters list endpoints do not include the ad body, so descriptionHtml is null for those sources.
Does it need a proxy?
No. These are public official endpoints that work without a proxy. Enable Apify Proxy only if you process many companies and hit IP rate limits.
🛠️ Support
For bugs or missing fields, open an Actor issue with the run URL, the company slug, and the field or behavior you expected.
⭐ Rate this Actor
If this Actor saved you time, please take 30 seconds to leave a review on the Reviews tab of ATS Jobs Scraper - reviews are the main trust signal other users see, and they directly decide which features get built next. If something is broken or a field is missing, please open an issue first - we typically respond within a day and would love the chance to fix it before you rate.