ATS Jobs Scraper — Greenhouse, Lever, Ashby & more (no login)
Pricing
from $0.50 / 1,000 jobs
ATS Jobs Scraper — Greenhouse, Lever, Ashby & more (no login)
Aggregate open jobs from Greenhouse, Lever, Ashby, Workable & SmartRecruiters career boards in one run — no login, no anti-bot. SmartRecruiters adds enterprise coverage (Visa, Bosch). Normalized JSON: title, department, location, remote, employment type, apply URL, posted date.
Pricing
from $0.50 / 1,000 jobs
Rating
0.0
(0)
Developer
Petro Pankov
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 hours ago
Last modified
Categories
Share
ATS Jobs Scraper — Greenhouse, Lever, Ashby, Workable & SmartRecruiters (no login)
Aggregate open roles from company career boards on Greenhouse, Lever, Ashby, Workable and SmartRecruiters in a single run — no login, no cookies, no anti-bot. SmartRecruiters adds large-enterprise coverage (Visa, Bosch, McDonald's, Ubisoft…) that the startup-heavy boards don't reach.
Why this one
Unlike Indeed/Glassdoor scrapers that fight Cloudflare and break weekly, this actor uses the ATS providers' own public JSON APIs. They serve structured data directly, so the actor is reliable by construction and low-maintenance — no rotating CSS classes, no doc_id, no captcha to break. That's why it stays green while HTML scrapers rate 1–3 stars whenever a target redesigns.
Use cases
- Pull every open role from a specific company's career page (e.g. all Stripe jobs on Greenhouse).
- Build a niche job board by aggregating dozens of company boards on one schedule.
- Feed a recruiting/sourcing pipeline with fresh, structured openings (title, location, department, URL).
- Track hiring signals: watch which teams a company is expanding by department counts over time.
Input
{"boards": [{ "provider": "greenhouse", "company": "stripe" },{ "provider": "lever", "company": "ro" },{ "provider": "ashby", "company": "ramp" },{ "provider": "smartrecruiters", "company": "Visa" }],"companies": ["greenhouse:stripe", "lever:ro", "ashby:ramp", "smartrecruiters:Visa"],"keywords": ["engineer", "data"],"locations": ["remote", "berlin"],"remoteOnly": false,"includeDescription": false,"maxJobsPerBoard": 0}
- boards — list of
{ "provider": "greenhouse|lever|ashby|workable|smartrecruiters", "company": "<slug>" }. - companies — shorthand form:
"provider:slug"strings (use instead of, or alongside,boards). - keywords — keep jobs whose title/department contains any term (case-insensitive).
- locations — keep jobs whose location contains any term.
- remoteOnly — keep only remote roles.
- includeDescription — attach the plain-text description (Greenhouse & Lever).
- maxJobsPerBoard — cap per board (
0= all).
Find the slug in the board URL: boards.greenhouse.io/<slug>, jobs.lever.co/<slug>,
jobs.ashbyhq.com/<slug>, apply.workable.com/<slug>, jobs.smartrecruiters.com/<slug>.
Output
One normalized row per job, unified across all five ATS providers:
{"provider": "greenhouse","company": "stripe","jobId": "5123456","title": "Senior Software Engineer","location": "Remote — US","remote": true,"department": "Engineering","employmentType": "FullTime","url": "https://boards.greenhouse.io/stripe/jobs/5123456","postedAt": "2026-07-15T00:00:00Z","updatedAt": "2026-07-18T00:00:00Z","description": ""}
Pricing
Pay-per-result: you pay per job row returned, with no charge for boards that yield nothing.
FAQ
How do I scrape all jobs from a Greenhouse board?
Pass { "provider": "greenhouse", "company": "<slug>" } (the slug from boards.greenhouse.io/<slug>)
and leave maxJobsPerBoard at 0.
Does it work without login or an API key? Yes — every provider here exposes a public jobs JSON endpoint. No account, cookies or proxy needed.
Which ATS platforms are supported? Greenhouse, Lever, Ashby, Workable and SmartRecruiters. SmartRecruiters covers large enterprises; the others skew toward startups and scale-ups.
Is this a multi-ATS applicant tracking scraper? Yes. It aggregates open roles across five applicant tracking systems (ATS) — Greenhouse, Lever, Ashby, Workable and SmartRecruiters — in a single run, returning one normalized schema regardless of which applicant tracking system each company uses. That multi-ATS coverage is the point: you point it at any mix of providers and get unified job rows back.
Can I scrape Ashby (Ashby HQ) job boards?
Yes. Pass { "provider": "ashby", "company": "<slug>" } — the slug from jobs.ashbyhq.com/<slug>.
The data is read from the company's public embedded job board, so no login, cookies or API key
are needed. This also covers companies that host the board on their own careers page instead of
on Ashby's — those return every open role too.
Can I get only remote roles?
Set remoteOnly: true, or filter with locations: ["remote"].
Why not just scrape Indeed or LinkedIn? Those sit behind anti-bot walls and break often. Company ATS APIs are the original structured source — faster, cleaner and stable.