Multi-ATS Jobs API — Greenhouse, Lever & Ashby
Pricing
Pay per usage
Multi-ATS Jobs API — Greenhouse, Lever & Ashby
One clean, normalized, de-duplicated feed of live job postings from company career pages across Greenhouse, Lever & Ashby. Public ATS endpoints only — no login, no anti-bot, legally clean. For recruiters, job boards, ATS aggregators & AI hiring tools.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Bobrik Dobrik
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Multi-ATS Jobs API — Greenhouse, Lever & Ashby Job Scraper
Get one clean, normalized, de-duplicated feed of live job postings from company career pages — across Greenhouse, Lever, and Ashby — in a single run. This Jobs API pulls directly from each company's public ATS endpoints (no login, no cookies, no blocked sites, no anti-bot workarounds), so results are fast, reliable, and legally clean. Point it at a list of companies or use the built-in seed list of well-known tech employers and get thousands of up-to-date jobs with titles, departments, locations, remote flags, employment type, apply URLs, and full descriptions — all in one unified schema you can drop straight into a database, job board, sourcing tool, or AI hiring agent.
Built for recruiters, job boards, ATS aggregators, sales-intelligence, and AI recruiting tools that need structured hiring data without maintaining a dozen brittle scrapers. Reliability is the point: each company is fetched in isolation, failures are retried and labelled (never silently dropped), and every record is de-duplicated by a stable key.
Why this actor
- 3 ATS platforms, 1 schema — Greenhouse, Lever, and Ashby normalized into identical fields. No per-source glue code on your side.
- Public endpoints only — reads the same JSON companies publish for their own career sites. No authentication, no anti-bot evasion, no legal gray area.
- Reliable by design — per-company isolation, retries with backoff, partial-but-labelled runs via a
RUN_SUMMARY, and full de-duplication. - Zero-config start — run with no input to pull a curated set of top companies; or pass your own list.
- Pay per result — you only pay for jobs returned.
Input
| Field | Type | Default | Description |
|---|---|---|---|
companies | array | — | [{ "ats": "greenhouse|lever|ashby", "token": "stripe" }]. Empty → seed list. |
useSeedList | boolean | true | Use the built-in curated company list when companies is empty. |
includeDescription | boolean | true | Include description_html and description_text. |
onlyRemote | boolean | false | Return only remote jobs. |
maxJobsPerCompany | integer | 0 | Cap jobs per company (0 = no cap). |
The token is the company's board slug: the X in boards.greenhouse.io/X, jobs.lever.co/X, or jobs.ashbyhq.com/X.
Output
Each dataset item is one job in a unified schema:
{"source": "greenhouse","company": "Stripe","company_token": "stripe","job_id": "7954688","title": "Account Executive, AI Sales","department": "Account Executives","departments": ["Account Executives"],"team": null,"location": "San Francisco, CA","offices": ["San Francisco, CA"],"is_remote": false,"employment_type": "Full Time","url": "https://stripe.com/jobs/search?gh_jid=7954688","apply_url": "https://stripe.com/jobs/search?gh_jid=7954688","published_at": "2026-06-02T12:58:57.000Z","updated_at": "2026-07-22T17:25:41.000Z","description_html": "…","description_text": "…"}
Notes on responsible use
- Reads only public ATS job-board endpoints that companies expose for their own career pages.
- Returns job postings, not candidate/personal data. Use hiring data in line with the ATS providers' terms and applicable law.
- Respects each source; fetches are lightweight and rate-friendly.
Roadmap
- Workday, Recruitee, SmartRecruiters, Personio adapters
- Company auto-discovery
- Incremental "changed since last run" mode