ATS Jobs Scraper (Greenhouse, Lever, Ashby)
Pricing
from $10.00 / 1,000 jobs
ATS Jobs Scraper (Greenhouse, Lever, Ashby)
Get every open job from any company's Greenhouse, Lever or Ashby job board as clean JSON: title, location, remote flag, department, salary, dates, apply link, optional full description. Filter by keyword, location, remote, department or posting date.
Pricing
from $10.00 / 1,000 jobs
Rating
0.0
(0)
Developer
Martin CONTAL
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
19 hours ago
Last modified
Categories
Share
Get every open job from any company's job board as clean, structured JSON. Give it company names or job board URLs; it detects whether the company hires through Greenhouse, Lever or Ashby, pulls all open positions from the board's public API, normalises them into one schema, and applies your filters. No browser, no login, no personal data.
Typical uses: job aggregators and job alerts, recruiting and sourcing tools, sales intelligence ("who is hiring for X"), market and salary research, AI agents that need a company's open roles as a tool call.
What you get for every job
| Field | Example |
|---|---|
title | Senior Backend Engineer |
company, ats, boardUrl | stripe, greenhouse, https://boards.greenhouse.io/stripe |
url, applyUrl | direct link to the job page and the application form |
location, locations, country, isRemote, workplaceType | Paris, France, ["Paris, France", "Remote"], FR, true, hybrid |
department, team, employmentType | Engineering, Payments, Full-time |
salaryMin, salaryMax, salaryCurrency, salaryInterval, salaryText | 120000, 160000, USD, 1 YEAR, $120K – $160K • Offers Equity (when the company publishes it) |
publishedAt, updatedAt, scrapedAt | ISO dates |
descriptionText, descriptionHtml | full job description, when Include full description is on |
Input
{"companies": ["stripe", "ashby:ramp", "https://jobs.lever.co/palantir"],"keyword": "engineer","location": "Paris","remoteOnly": false,"postedWithinDays": 30,"includeDescription": false,"maxJobsPerCompany": 200}
- companies: plain slugs (
stripe, the ATS is auto-detected), prefixed slugs (lever:palantir,ashby:ramp,greenhouse:stripe) or full board URLs. - keyword, location, department, remoteOnly, postedWithinDays: optional filters, case-insensitive.
- includeDescription: adds the full description as HTML and plain text.
- maxJobsPerCompany, maxJobs: caps.
The run's key-value store also gets a SUMMARY record: boards found, positions seen, matched, pushed, and the companies with no public board.
Output example
{"ats": "ashby","company": "ramp","boardUrl": "https://jobs.ashbyhq.com/ramp","id": "34413f8d-26bf-4bbc-8ade-eb309a0e2245","title": "Security Engineer, Cloud","url": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245","applyUrl": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245/application","location": "New York, NY (HQ)","locations": ["New York, NY (HQ)"],"country": "US","isRemote": true,"workplaceType": "Hybrid","employmentType": "FullTime","department": "Engineering","team": "Backend","salaryMin": 211400,"salaryMax": 290600,"salaryCurrency": "USD","salaryInterval": "1 YEAR","salaryText": "$211.4K – $290.6K • Offers Equity","publishedAt": "2026-04-07T17:12:35.753+00:00","updatedAt": null,"scrapedAt": "2026-09-21T01:12:00.000Z"}
Pricing
Pay per event: $10.01 per 1,000 jobs returned, and platform usage is on us. Filters apply before charging, so a keyword, location or date filter only bills the jobs you keep, and a run that matches nothing costs a hundredth of a cent. Use maxJobs, maxJobsPerCompany or the run's maximum total charge to cap spend.
How to find a company's slug
- Greenhouse boards live at
boards.greenhouse.io/<slug>orjob-boards.greenhouse.io/<slug>. - Lever boards live at
jobs.lever.co/<slug>. - Ashby boards live at
jobs.ashbyhq.com/<slug>. - Not sure? Pass the company name; the Actor tries the three ATSs in turn and reports the ones it cannot find in
SUMMARY.notFound.
Using it from an AI agent or via API
The Actor is a natural tool for agents: input is a short JSON, output is a dataset of uniform job objects. Call it through the Apify API, the Apify MCP server, or any Apify client library, and read the results from the default dataset.
Legal and data policy
This Actor only reads the public job board APIs that Greenhouse, Lever and Ashby expose for the companies' own career pages (no authentication, no rate-limit circumvention, no browser automation). It collects job postings, not people: no candidate or employee data is processed. Respect the target companies' terms when you reuse their content.
More tools
Same approach, same output discipline:
- Sitemap & llms.txt URL Extractor — every URL a website publishes, from robots.txt, all sitemaps and llms.txt.
- Website Screenshot & PDF API — any public page rendered into an image or an A4 PDF.
FAQ
Does it support Workday, SmartRecruiters, Workable or Teamtailor? Not yet. Tell us in the Issues tab which ATS you need next.
How fresh is the data? Each run reads the board live. Schedule the Actor (hourly, daily) to keep a feed up to date, and use postedWithinDays to get only new roles.
A company shows "not found". Either it uses another ATS, or its board slug differs from its name. Open the careers page, copy the board URL and pass it directly.