ATS Job Scraper - Greenhouse, Lever, Ashby, Workday & More
Pricing
from $4.00 / 1,000 job postings
ATS Job Scraper - Greenhouse, Lever, Ashby, Workday & More
Scrape jobs straight from company career boards across 8 applicant tracking systems: Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Rippling, Breezy and Workday. Paste a board URL and the system is detected for you. Filter by title or location, and get only postings new since your last run.
Pricing
from $4.00 / 1,000 job postings
Rating
0.0
(0)
Developer
Phupatchara Treenuson
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
ATS Job Scraper — Greenhouse, Lever, Ashby, Workday & more
Scrape job postings straight from company career boards instead of from a job aggregator. Paste the board URL of any company you want watched and this Actor detects which applicant tracking system they run, fetches the postings, and returns them all in one shape.
Eight systems are supported:
| Applicant tracking system | Typical board URL |
|---|---|
| Greenhouse | https://boards.greenhouse.io/stripe |
| Lever | https://jobs.lever.co/netflix |
| Ashby | https://jobs.ashbyhq.com/ramp |
| Workable | https://apply.workable.com/persado |
| SmartRecruiters | https://jobs.smartrecruiters.com/Visa |
| Rippling | https://ats.rippling.com/rippling/jobs |
| Breezy HR | https://acme.breezy.hr |
| Workday | https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite |
You can also write greenhouse:stripe or lever:netflix if you already know the
platform.
Why scrape career boards rather than a job site
Postings appear on a company's own board first and reach the aggregators later, with fields dropped along the way. Going to the source gives you the department, the team, the employment type, and the real application link, on the day it goes live.
What makes this one different
Only-new delivery. The Actor remembers what it already returned. Schedule it daily and each run gives you what appeared since yesterday, not the same 600 rows every morning. A run that finds nothing new costs nothing beyond platform compute.
One dead board does not kill the run. Companies rename and close boards constantly. Every board is fetched independently; a 404 is logged and skipped and you still get results from the rest. Watching 200 companies is normal use here.
Correct billing on multi-location roles. Rippling publishes one row per location — its own board returns 691 rows for 367 actual jobs. Those are collapsed into one posting with a list of locations, so you are not charged for the same role four times. This is checked by a test.
Workday is included. Large employers run Workday, and it needs a different request shape from every other board. Most career-board Actors skip it.
Output
One record per posting:
{"uid": "143fa3766650b2e1","platform": "ashby","company": "ramp","company_name": null,"source_id": "34413f8d-26bf-4bbc-8ade-eb309a0e2245","title": "Security Engineer, Cloud","location": "New York, NY (HQ)","locations": ["New York, NY (HQ)", "Remote (US)"],"remote": true,"department": "Engineering","team": "Backend","employment_type": "FullTime","salary": "$180K – $220K","posted": "2026-05-01","updated": null,"description": "Secure the cloud …","url": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245"}
Filters
- keywords / excludedKeywords — match against title, department, and team
- locations — plain text, so
LondonandUnited Kingdomboth work - departments — match against department and team
- remoteOnly — uses the board's own remote flag where there is one, the location text otherwise
- postedWithinDays — publication window
- onlyNew — only what has appeared since the last run (on by default)
- includeDescription — drop the body if you only need titles and links
- maxResults — hard cap on postings delivered, and therefore on cost
What each board actually publishes
Boards differ, and pretending otherwise would make the output look complete when it is not:
| Platform | Description in output | Publication date | Salary |
|---|---|---|---|
| Greenhouse | yes | yes | no |
| Lever | yes | yes | no |
| Ashby | yes | yes | when the employer opts in |
| Breezy | when set | yes | when set |
| Workable | no | yes | no |
| SmartRecruiters | no | yes | no |
| Rippling | no | no | no |
| Workday | no | no | no |
Rippling and Workday publish no dates at all, so postedWithinDays cannot filter
them and their postings are always kept. Use onlyNew to get recency on those
boards — that is exactly what it is for.
Use cases
- Job boards and aggregators — pull fresh postings from a list of employers you track, deduplicated across runs
- Recruiters — watch competitors and target accounts for new openings
- Market research — measure hiring by department across a sector over time
- Job seekers — monitor a shortlist of companies and see new roles the day they post
- AI agents — a clean, typed job feed to call as a tool
Notes and limits
- Public board endpoints only. No logins, no cookies, no access controls circumvented.
- Workday returns 20 postings per request and stops serving results past 2,000 per board.
- Workday's list response gives a location summary such as
5 Locationsrather than the individual cities, and no department. That is what the board publishes. - Descriptions are truncated to 5,000 characters.
- Recruitee, Personio, Teamtailor, and Comeet are not supported. Their endpoints could not be verified against a live board, and shipping a parser that has never seen real data is how scrapers end up silently returning nothing.
Pricing
Pay per event: you are charged per posting delivered. A scheduled run that finds nothing new delivers nothing and charges nothing.