ATS Jobs API: Greenhouse, Lever & Ashby
Pricing
from $2.00 / 1,000 job scrapeds
ATS Jobs API: Greenhouse, Lever & Ashby
Every open job on the Greenhouse, Lever and Ashby boards you list, one row per job: title, company, location, remote flag, department, posted date, apply URL, ATS and a dedup key, description on request. Board slugs or careers URLs in. Public job-board APIs only: no login, no personal data.
Pricing
from $2.00 / 1,000 job scrapeds
Rating
0.0
(0)
Developer
Atarivo Enterprises Inc.
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
16 hours ago
Last modified
Categories
Share
ATS Jobs API: Greenhouse, Lever & Ashby returns every open job on the company job boards you list, as clean rows with the same fields whichever applicant tracking system (ATS) the company uses: title, company, location, remote flag, department, posted date, apply URL, ATS and a dedup key. It is built for job aggregators, recruiters, labour-market researchers and AI agents that need fresh postings straight from the source. To try it, keep the sample input and press Start. The sample reads three public boards and finishes in a few seconds.
What does ATS Jobs API: Greenhouse, Lever & Ashby do?
- Returns one dataset row per open job in one normalised schema, so Greenhouse jobs, Lever jobs and Ashby jobs can go into the same table without any mapping.
- Accepts board slugs or careers URLs:
job-boards.greenhouse.io/<board>,jobs.lever.co/<site>,jobs.ashbyhq.com/<name>, the matching API URLs,ats:slug(e.g.lever:acme), or a bare slug that it tries on Greenhouse, then Lever, then Ashby. - Optionally adds the job description as plain text (
includeDescription). - Removes duplicates within a run by
dedup_key(ats:job_id), so the same board listed twice is charged once per job. - Calls only three hosts, the public job-board APIs:
boards-api.greenhouse.io,api.lever.coandapi.ashbyhq.com. It sends an honest User-Agent that names this Actor, reads and obeys each host's robots.txt (includingCrawl-delay), sends at most 2 requests per second per host, and retries a failed request once. - No login, no cookies, no proxies, no personal data. It reads job postings that the employers publish for anyone to see. It does not look for or extract recruiter or candidate contact details; a description is returned as the employer published it.
- Does not read Workday, Indeed, LinkedIn or any other aggregator. Those inputs are refused with a clear message before anything is fetched or charged.
How to use the Greenhouse, Lever and Ashby jobs API
- Put one board per line in Job boards. Copy the board URL from the company's careers page, or type the slug. Up to 200 boards per run.
- Optionally tick Include the job description text, and set Max jobs per board (default 1,000).
- Press Start. Open the Output tab for the jobs table, or read the dataset through the
API in JSON, CSV or Excel. The
RUN_SUMMARYrecord in the key-value store says, per board, which ATS answered and how many jobs were found.
Calling it from an AI agent: {"boards": ["lever:acme", "https://jobs.ashbyhq.com/acme"]}. The
description above is also the Actor's tool description in the Apify MCP server.
Run it on a schedule and compare dedup_key values between runs to see which jobs are new and
which were closed.
Pricing
| Event | What you pay for | Price |
|---|---|---|
job-scraped | One job returned as a row | $0.0020 |
Each run also has a start fee of $0.001. A board that does not exist (HTTP 404 on every ATS
tried) or that did not answer after a retry costs one job-scraped event for its error row.
A board skipped because of robots.txt, or a response this Actor could not read, is never
charged. Duplicates are never charged. Set Max cost per run to cap a run; the Actor stops
cleanly at the cap and says so in its status message. Platform usage is included (no "+usage"
charges).
Input
| Field | Type | Required | Notes |
|---|---|---|---|
boards | array of strings | yes | 1 to 200 entries: board URLs, ats:slug, or bare slugs. Aggregator, Workday and other ATS URLs are refused, and so are EU-hosted Greenhouse and Lever boards. |
includeDescription | boolean | no | Default false. Adds description_text. Same price. |
maxJobsPerBoard | integer | no | 1 to 10,000; default 1,000. Caps the jobs (and the cost) per board. |
{"boards": ["greenhouse", "https://jobs.lever.co/palantir", "https://jobs.ashbyhq.com/ashby"],"includeDescription": false,"maxJobsPerBoard": 10}
Output
One row per job:
{"title": "Senior Data Engineer","company": "acme","location": "Remote - United States","remote": true,"department": "Engineering","posted_at": "2026-10-01T14:30:00Z","apply_url": "https://jobs.lever.co/acme/00000000-0000-4000-8000-000000000000/apply","ats": "lever","board": "acme","job_id": "00000000-0000-4000-8000-000000000000","dedup_key": "lever:00000000-0000-4000-8000-000000000000"}
remote is true or false when the ATS says so and null when it does not. posted_at is
ISO 8601 in UTC. company is the company name from Greenhouse; Lever and Ashby do not return
one, so it is the board slug. A board that failed gives one row with error, message,
tried and charged instead. Run storage is kept for your plan's data-retention period, then
deleted by Apify.
Other Actors by Atarivo
Every Atarivo Actor follows the same rules: limited permissions, no "+usage" pricing, charges only after results are saved, and at least one result row per run.
- PDF, Image & Word to Text and Markdown (OCR): returns the text, Markdown, tables and page facts of a PDF, PNG, JPEG, TIFF or Word .docx file, one dataset row per page, plus RAG chunks with page spans. OCR runs only on scanned or unreadable pages. First page free.
- Printable Puzzle PDF Generator: word search, sudoku, maze: returns one printable PDF of word search, sudoku, maze or nonogram puzzles with an answer key. Every puzzle is solver-verified to have exactly one solution. Letter or A4. First 3 puzzles per run free.
FAQ, disclaimers and support
Is it legal? It reads only the public, unauthenticated job-board endpoints that each ATS documents for building job sites: Greenhouse's Job Board API ("Job Board data is publicly available, so authentication is not required for any GET endpoints"), Lever's Postings API and Ashby's public Job Posting API. It honours robots.txt and rate limits. You are responsible for how you use the data, including any terms of the employers whose postings you republish.
Why is my board "not found"? Check the slug in the board's URL. Greenhouse and Lever boards hosted in the EU are not supported yet.
Why are some fields null? The ATS did not publish them for that job.
Is it affiliated with Greenhouse, Lever or Ashby? No. The names describe the data source only.
Something is wrong. Open an issue on the Issues tab with the run ID. Issues are answered within 14 days.
This Actor is provided as is, under Apify's Standard Actor Contract. It is not affiliated with or endorsed by Greenhouse, Lever or Ashby.