Job Scraper — Greenhouse, Lever & Ashby API
Pricing
from $1.00 / 1,000 job returneds
Job Scraper — Greenhouse, Lever & Ashby API
Search live jobs across thousands of company career pages. Includes a pre-built company-to-ATS index, so you don't need to know which companies to query. Extract thousands of job postings directly from Greenhouse, Lever, Ashby, and Workable. Clean, fast, and structured JSON data. Try it for free!
Pricing
from $1.00 / 1,000 job returneds
Rating
0.0
(0)
Developer
Diseño Web de Colombia
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 hours ago
Last modified
Categories
Share
ATS Job Scraper API — Greenhouse, Lever & Ashby Jobs
Search live jobs across a thousand company career pages — without knowing which companies to query.
Call it as an API
One keyword in, live jobs out from a thousand company career pages — in a single HTTP call, no polling and no company list to maintain.
curl -X POST "https://api.apify.com/v2/acts/dev_web_col~ats-job-index/run-sync-get-dataset-items?token=YOUR_TOKEN" \\-H "Content-Type: application/json" \\-d '{"searchKeyword": "backend engineer", "location": "United States"}'
import requestsr = requests.post("https://api.apify.com/v2/acts/dev_web_col~ats-job-index/run-sync-get-dataset-items",params={"token": "YOUR_TOKEN"},json={"searchKeyword": "backend engineer", "location": "United States"},)job = r.json()[0]print(job["title"], job["companyName"], job["applyUrl"])
Single-entity lookup, for calling once per company from your own code:
curl -X POST "https://api.apify.com/v2/acts/dev_web_col~ats-job-index/run-sync-get-dataset-items?token=YOUR_TOKEN" \\-H "Content-Type: application/json" -d '{"companyToken": "greenhouse:stripe"}'
run-sync-get-dataset-items waits for the run and returns the rows in the same
response. Your token is on the Integrations page.
What is the ATS Job Scraper?
This Actor reads jobs straight from the applicant tracking systems companies actually post on: Greenhouse, Lever, Ashby and Workable. These are the same public JSON feeds that power a company's own careers page.
Every other ATS scraper makes you bring your own list of board tokens. If you already knew that Stripe is greenhouse:stripe and Ramp is ashby:ramp, you probably would not need a scraper. This one ships with a pre-built, validated company-to-ATS index of 1,014 companies and roughly 24,700 live jobs, so you can just ask for "backend engineer, remote, posted this week".
Why this instead of a LinkedIn or Indeed scraper
These jobs come from the company's own system, not from an aggregator:
- Earlier. Roles appear here before they are syndicated to job boards, and many never get syndicated at all.
- Cleaner. No recruiter spam, no duplicate reposts, no expired listings sitting around.
- No anti-bot fight. Greenhouse, Lever, Ashby and Workable publish these as public JSON endpoints so companies can embed boards on their own sites. There is no login wall to get around, which is why runs are fast and reliable.
- Salary included wherever the ATS publishes it. Ashby exposes compensation ranges for free.
What data you get
Job title, company, department, location, remote flag, employment type, compensation text where published, posting date, the direct apply URL, and the full job description. Every row is keyed by ats:companyToken:externalId so reruns deduplicate cleanly.
Input
Every field is optional unless marked required.
| Field | Type | Description |
|---|---|---|
searchKeyword | string | Filter by job title, e.g. "backend engineer", "product designer", "account executive". Leave empty to get every job. |
searchScope | string | Job title only is precise. Adding the description finds more, but also matches jobs that merely mention the keyword. |
location | string | Free text match against the job location, e.g. "New York", "London", "Germany". |
remoteOnly | boolean | Keep only jobs the company flags as remote. |
department | string | Free text match against the department or team, e.g. "Engineering", "Sales". |
postedSince | integer | Only jobs published within this many days. Leave empty for no date limit. Jobs without a publish date are excluded when this is set. |
atsPlatforms | array | Which applicant tracking systems to search. Leave empty to search all of them. |
companyTokens | array | Only if you want specific companies instead of the built-in index. Accepts "greenhouse:stripe" or a job board URL like https://jobs.lever.co/ro |
maxCompanies | integer | Higher means broader coverage and a slower run. Companies with the most open roles are queried first. |
maxResults | integer | Caps how many jobs land in the dataset. You are charged per job returned. |
previewMode | boolean | ON by default so you can try the actor for the price of a single run start. No per-result charges apply. Turn it OFF for a full run. |
Input sample
{"searchKeyword": "backend engineer","postedSince": 7,"companyTokens": ["greenhouse:stripe","lever:ro","ashby:ramp"]}
Output sample
One real row from an actual run:
{"id": "greenhouse:agency:4661538101","ats": "greenhouse","companyToken": "agency","companyName": "Meridial","externalId": "4661538101","title": "Backend Engineering Specialist - Freelance AI Trainer Project","department": "Engineering & Technology","location": "United States of America","isRemote": false,"employmentType": null,"compensationText": null,"postedAt": "2025-08-25T19:51:35.000Z","applyUrl": "https://job-boards.eu.greenhouse.io/agency/jobs/4661538101","descriptionText": "Are you an experienced Backend Engineer eager to shape the future of AI? Large-scale language models are evolving rapidly, moving beyond simple chatbots into powerful engines of research, learning, and applied problem..."}
Who uses this
- Job seekers and career tools — reach postings before they hit the big boards
- Recruiters — see who is hiring for a role, across a thousand companies at once
- Sales teams — hiring is the strongest buying signal there is
- Market researchers — headcount plans by department and location
- Anyone building a job board who needs a clean, deduplicated feed
Honest limits
These are real and none of them is fixable by any tool. They are here so you know what you are buying before you run it.
- The index covers 1,014 companies, weighted toward technology and startups. It is large but not the whole market. You can also pass your own board tokens directly.
- Only these four platforms. Companies on Workday, SmartRecruiters or a custom system are not covered — their board addresses are not discoverable in the same way.
- Salary is only present where the ATS publishes it, which in practice mostly means Ashby.
- Workable rate-limits harder than the others and is queried more slowly as a result.
- Preview mode returns at most 20 rows and does not charge per result, so you can check the shape of the data before a real run.
FAQ
Do I need to know which companies to search?
No, and that is the whole point. The bundled index maps 1,014 companies to their job board, so a keyword and a location are enough. If you do have specific companies in mind, pass their tokens in companyTokens instead.
What is a company token?
The identifier a company uses on its ATS, in the form platform:token — for example greenhouse:stripe, lever:ro or ashby:ramp. You can read it off the company's job board URL.
How fresh are the jobs?
The jobs themselves are fetched live on every run, straight from the ATS, so they are as current as the company's own careers page. The bundled index of which company uses which platform is refreshed periodically.
Why do I get fewer results than I expected?
By default the keyword is matched against the job title only. Searching descriptions too inflates results with false positives — a "Talent Lead" posting that merely mentions backend engineering. Use searchScope to widen it deliberately.
Can I track changes over time instead of dumping everything?
Yes, use the ATS Job Monitor Actor. It runs the same sources but returns only what changed since your last run: new roles, closed roles and edits.
Do I need an account or an API key for the source?
No. This Actor only reads public pages and public endpoints, the same ones any logged-out visitor sees. You never give it credentials, and nothing is done on your behalf.
Is it legal to scrape this data?
Scraping publicly available information is broadly accepted as legal, and this Actor only ever touches pages that require no login. That said, what you may do with the data afterwards is a separate question — personal data in particular is regulated by GDPR and CCPA. If you plan to process personal data, take advice first. Apify has a good primer: Is web scraping legal?
How much will a run cost me?
You are charged per result, so the cost scales with what you actually get back. The pricing is shown on this page above the input form. Start with a small run to see real numbers before you scale up.
Can I export to Excel, CSV or Google Sheets?
Yes. Every run's dataset can be downloaded as CSV, Excel, JSON, XML or HTML from the Storage tab, and Apify integrates directly with Google Sheets, Airtable, Zapier, Make and Slack.
Can I run this on a schedule?
Yes. Open the Schedules tab and pick an interval — hourly, daily, weekly. Each run only costs you what it returns.
Can I call it from my own code instead of the console?
Yes. Every Actor on Apify is also an API endpoint. There are official clients for Python and JavaScript, plus a plain REST API. The API tab on this page shows ready-made snippets with your input already filled in.
Something came back empty. Is it broken?
Usually not. An empty result normally means the filters were too narrow, or the source genuinely has nothing to return for that query. This Actor is written to finish successfully and tell you what happened rather than fail — check the run log, it says which step returned nothing.
Related Actors
- ATS Job Monitor — the same sources, but only what changed since last run
- LinkedIn Jobs Scraper + Direct Apply Links — LinkedIn postings cross-referenced with these boards
- Company Enrichment — turn a domain into firmographics plus this hiring signal
Where the data comes from
The public JSON endpoints of Greenhouse, Lever, Ashby and Workable, which companies publish so their job boards can be embedded elsewhere. No login, no API key, no anti-bot circumvention.