Greenhouse Jobs API + Lever, Ashby & More (6 ATS Job Boards)
Pricing
from $0.60 / 1,000 job results
Greenhouse Jobs API + Lever, Ashby & More (6 ATS Job Boards)
Greenhouse, Lever & Ashby jobs scraper for any company's ATS job board, plus Workable, SmartRecruiters and Recruitee. Paste slugs or careers URLs; the ATS is auto-detected. One normalized dataset, filters for keyword, location, remote, department and date. From $0.001 per job.
Pricing
from $0.60 / 1,000 job results
Rating
0.0
(0)
Developer
Clearpath Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
What does this ATS jobs API do?
A Greenhouse jobs API, Lever jobs API and Ashby jobs API in one: paste a list of companies (board slugs, job-board URLs or careers page URLs) and get every open job from their Greenhouse, Lever, Ashby, Workable, SmartRecruiters and Recruitee boards in one normalized dataset. The ATS is auto-detected. It reads the public job-board APIs that these vendors provide for companies' published jobs: no login, no cookies. Independent tool; not affiliated with any ATS vendor.
Price: $0.001 per job ($0.0008 Silver, $0.0006 Gold+). You only pay for saved results. Set maxResults to cap the cost.
Quick start: Greenhouse jobs API, Lever jobs API and Ashby jobs API
- Click Try for free, keep the prefilled input and press Start.
- Or call it from code:
curl -X POST "https://api.apify.com/v2/acts/clearpath-data~ats-jobs-by-company/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" -d '{"companies": ["stripe", "https://jobs.lever.co/spotify", "https://jobs.ashbyhq.com/openai", "https://bunq.recruitee.com"], "maxResults": 300, "maxResultsPerCompany": 100}'
Sample output: one job board API for six ATSs
| company | ats | title | location | postedAt |
|---|---|---|---|---|
| Stripe | greenhouse | AR Analyst | Bangalore | 2026-10-09 |
| Spotify | lever | Performance Marketing Activation Specialist | New York, NY | 2026-10-08 |
| OpenAI | ashby | Account Director, Cyber | San Francisco | 2026-10-09 |
| bunq | recruitee | Deputy AML Manager - Belgium | Brussels, Brussels, Belgium | 2026-10-05 |
Sample rows: real output of test run on 2026-10-09, trimmed to a few columns. That run fetched 299 jobs from 4 boards (stripe, spotify, openai, bunq), capped at 100 per company.
Input
| Field | Type | Default | What it does |
|---|---|---|---|
companies | array | One company per line. Accepts a board slug ("stripe"), a prefixed slug ("lever:spotify", "workable:huggingface", "smartrecruiters:BoschGroup", "recruitee:bunq"), a job-board URL (job-boards.greenhouse.io/airbnb, jobs.lever.co/palantir, jobs.ashbyhq.com/openai, apply.workable.com/huggingface, careers.smartrecruiters.com/BoschGroup, bunq.recruitee.com), or a company careers page URL (the Actor looks for an embedded Greenhouse, Lever, Ashby, Workable, SmartRecruiters or Recruitee board). SmartRecruiters company IDs are case-sensitive. | |
ats | string | "auto" | Which ATS to query for plain slugs such as "stripe". "Auto-detect" tries Greenhouse, Ashby, Lever, Workable, Recruitee, then SmartRecruiters, and uses the first board with open jobs. URLs and prefixed slugs always use their own ATS. |
keywords | array | [] | Keep only jobs whose title contains at least one of these words (case-insensitive). Leave empty for all jobs. |
searchInDescription | boolean | false | When on, keywords are also matched against the job description text. |
locations | array | [] | Keep only jobs whose location (or any secondary location / country) contains at least one of these strings, e.g. "London", "Germany", "Remote". |
remoteOnly | boolean | false | Keep only jobs marked remote by the ATS, or whose location says Remote/Anywhere. |
departments | array | [] | Keep only jobs whose department or team contains at least one of these strings, e.g. "Engineering", "Sales". |
postedSince | string | Keep only jobs first published on or after this date. Use an absolute date (2026-09-01) or a relative one ("7 days", "2 weeks", "1 month"). Jobs without a published date are excluded when this is set. | |
maxResults | integer | 1000 | Stop after saving this many jobs across all companies. 0 = no limit. You pay per saved job, so this also caps the cost. |
maxResultsPerCompany | integer | 0 | Save at most this many jobs per company (newest first). 0 = no limit. |
descriptionMode | string | "text" | Include the job description as plain text, HTML, both, or not at all (smaller output, quicker runs). SmartRecruiters needs one extra request per saved job for descriptions. |
includeCompanySummary | boolean | false | Also build one hiring summary per company (open jobs, new jobs in the last 7/30 days, top departments and locations, remote share). Saved to the key-value store record COMPANY_SUMMARIES. Charged per company (see Pricing). |
maxConcurrency | integer | 5 | How many companies to fetch at the same time. |
Supported ATS job boards and URL formats
Greenhouse jobs API
stripe or job-boards.greenhouse.io/stripe (older boards.greenhouse.io/... links work too).
Lever jobs API
lever:spotify or jobs.lever.co/spotify.
Ashby jobs API
ashby:openai or jobs.ashbyhq.com/openai.
Workable jobs
workable:huggingface or apply.workable.com/huggingface.
SmartRecruiters jobs
smartrecruiters:BoschGroup or careers.smartrecruiters.com/BoschGroup. Company IDs are case-sensitive.
Recruitee jobs
recruitee:bunq or bunq.recruitee.com.
Careers page URLs
Paste a company's own careers page (e.g. https://example.com/careers) and the Actor looks for an embedded board from one of the six ATSs. Pages built on other systems can't be read.
Use it for hiring signals
One run shows which teams and locations a company hires for right now (add includeCompanySummary for open jobs, new jobs in the last 7/30 days and remote share per company). To see what changed since the last run (jobs opened and closed), use Hiring Changes Monitor on the same six ATSs.
Use cases
- Job boards and newsletters: one normalized feed of openings from many companies' Greenhouse, Lever, Ashby, Workable, SmartRecruiters and Recruitee boards.
- Hiring signals for sales and investing: see which teams and locations a company is hiring for, and how many roles are open.
- Recruiting research: compare titles, departments and published salaries across a list of companies.
Integrations, schedules and AI agents
- Schedules: Schedule it daily to keep a job feed for your company list up to date. See Apify schedules.
- No-code tools: send results to Google Sheets, Slack or a CRM with Apify's Make, Zapier or n8n integrations, or a webhook when a run finishes.
- AI agents and assistants (MCP): connect an MCP client to
https://mcp.apify.com?tools=clearpath-data/ats-jobs-by-companywith your Apify account (OAuth or API token) and the agent can run this Actor as a tool, charged per event at the prices under "How much does it cost?". Agents without an Apify account can use a prepaid token from Apify's agentic payments (experimental). See the Apify MCP server docs.
How much does it cost?
| Plan | Price per job |
|---|---|
| Free / Bronze | $0.001 |
| Silver | $0.0008 |
| Gold and above | $0.0006 |
Plus Apify's standard Actor-start event ($0.00005 per GB of memory). Optional company hiring summary: $0.005 per company.
Example: 1,000 jobs on the Free plan cost $1.00.
FAQ
Which ATSs are supported?
Greenhouse, Lever, Ashby, Workable, SmartRecruiters and Recruitee. For plain slugs, auto-detect tries Greenhouse, Ashby, Lever, Workable, Recruitee, then SmartRecruiters, and uses the first board with open jobs. URLs and prefixed slugs always use their own ATS.
Where do I find a company's ATS slug?
Open one of the company's job ads: the link shows the board, e.g. jobs.lever.co/spotify/... → lever:spotify. Or paste the careers page URL and let the Actor find the board.
Why did a company return 0 jobs?
The slug is wrong or belongs to another ATS (try the board URL), the company has no open jobs, the careers page uses an unsupported system, or your filters (keywords, locations, postedSince) removed everything. The run log and the RUN_REPORT record show what happened for each company.
Does it include job descriptions?
Yes, as plain text by default (descriptionMode: text, html, both or none). SmartRecruiters needs one extra request per job for descriptions.
Can I get only remote roles?
Yes, remoteOnly: true keeps jobs the ATS marks as remote or whose location says Remote/Anywhere. Each company labels remote work its own way.
How do I avoid duplicates on a schedule?
Each row has a stable id (ats:companySlug:jobId). Schedule with postedSince (e.g. "2 days") and de-duplicate on id, or use Hiring Changes Monitor to get only opened and closed jobs. Jobs without a published date are excluded when postedSince is set.
Is it allowed?
It reads the public job-board APIs that ATS vendors offer for companies' published job ads, with no login. Job data belongs to the companies that post it; check how you may reuse it for your purpose.
Further reading and example tasks
- Greenhouse, Lever & Ashby jobs: Stripe, Spotify, OpenAI (public example task)
- Lever jobs API: open jobs at Spotify and Palantir (public example task)
- Ashby jobs API: OpenAI, Cohere, Perplexity and Notion (public example task)
- Remote engineering jobs from Greenhouse boards (public example task)
- Workable and Recruitee jobs: Hugging Face and bunq (public example task)
- SmartRecruiters jobs API: open jobs at Bosch (public example task)
- Greenhouse jobs in London: Stripe, Databricks, Figma, Vercel (public example task)
- Job postings from careers page URLs (ATS auto-detected) (public example task)
Combine with other Clearpath Data Actors
- Only what changed since last time. hiring-changes-monitor uses the same company slugs and board formats, and returns only the jobs each company opened or closed since your previous run. Example: Job tracker: new job postings at Notion, Linear and Vercel.
- Add remote job boards. remote-jobs-aggregator adds remote jobs from Remote OK and Himalayas, so one feed can cover company career pages and remote job boards.
- UK employers with a sponsor licence. Check the companies you track against uk-visa-sponsor-register to see which ones hold a Skilled Worker sponsor licence.
- Recently funded US companies. us-private-funding-rounds lists US companies that just filed a Form D notice for a private funding round. If they publish jobs on one of the supported boards, this Actor lists their open roles.
Other Clearpath Data Actors
| Actor | What it does |
|---|---|
| remote-jobs-aggregator | Remote jobs from Remote OK and Himalayas |
| lei-lookup | LEI lookup via the GLEIF API (LEI, name, BIC, ISIN) |
| companies-house-new-companies | New UK companies from Companies House, with officers and PSCs |
| uk-visa-sponsor-register | UK visa sponsor licence list from the GOV.UK register, with a changes feed |
| hiring-changes-monitor | Jobs each company opened or closed since your last run, on the same six ATS boards |
| us-new-business-filings | New LLCs and corporations from the NY, CO and CT state registries, since your last run |
| us-private-funding-rounds | New US private funding rounds from Form D notices, only filings new since your last run |
| us-federal-contract-opportunities | Daily US federal contract opportunities and award notices from SAM.gov's public extract, to see which companies just won federal contracts |