Greenhouse, Lever & Ashby Jobs Scraper API: Multi-ATS
Pricing
$2.00 / 1,000 job returneds
Greenhouse, Lever & Ashby Jobs Scraper API: Multi-ATS
Scrape every open job from Greenhouse, Lever, Ashby, Recruitee & Personio career pages in one schema. Salary, remote, apply links. Auto-detects the ATS. No login. $2 per 1,000 jobs.
Pricing
$2.00 / 1,000 job returneds
Rating
0.0
(0)
Developer
Six Figure Salute
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 hours ago
Last modified
Categories
Share
Scrape every open job from Greenhouse, Lever, Ashby, Recruitee & Personio career pages in one schema. Salary, remote, apply links. Auto-detects the ATS. No login. $2 per 1,000 jobs.
What does it do?
Multi-ATS Job Postings is a Greenhouse jobs scraper, Lever jobs scraper, Ashby jobs scraper, Recruitee and Personio job scraper in one. Paste company career page URLs (or slugs) and get every open job back in one normalized schema: title, department, location, remote flag, employment type, salary range (when published), posted date, full description and apply URL. It reads each ATS's official public job-board feed, so there is no login, no proxy, no browser and runs finish in seconds.
- ✅ Official public data source: no login, no cookies, no proxies
- ✅ Fast: plain API calls, typical runs finish in seconds
- ✅ Clean, flat JSON / CSV / Excel output, ready for Sheets, BI tools or AI agents
- ✅ Pay only for results: no monthly rental
Use cases
- Recruiters & sourcers: monitor target companies' open roles and catch new reqs the day they post (use Only new since last run on a schedule).
- Sales & GTM teams: hiring signals. Which accounts are hiring SDRs, data engineers or a Head of Security right now?
- Job boards & newsletters: aggregate direct-from-employer postings with apply links, no LinkedIn or Indeed scraping.
- Market & salary research: compare departments, locations, remote share and published pay bands across companies.
- AI agents & RAG: feed clean JSON job data into LLM workflows via the API or Apify MCP server.
How to use it
- Click Try for free. The input is prefilled with a working example.
- Edit the input (see examples below) and click Start.
- Download results as JSON, CSV, Excel or HTML, or pull them via API.
Input examples
Monitor 3 companies, engineering roles only
{"companies": ["https://boards.greenhouse.io/stripe","https://jobs.lever.co/spotify","https://jobs.ashbyhq.com/ramp"],"keywords": ["engineer"]}
Daily new-jobs alert (schedule this)
{"companies": ["greenhouse:airbnb","ashby:notion","recruitee:bunq"],"onlyNewSinceLastRun": true,"stateStoreName": "my-watchlist"}
Remote jobs in a location
{"companies": ["ashby:ramp","lever:palantir"],"remoteOnly": true,"locations": ["United States"]}
Output
Sample rows:
| company | platform | title | department | location | remote | salaryMin | salaryMax | salaryCurrency | postedAt |
|---|---|---|---|---|---|---|---|---|---|
| ramp | ashby | Security Engineer, Cloud | Engineering | New York, NY (HQ) | False | 211400 | 290600 | USD | 2026-04-07T17:12:35.753+00:00 |
| spotify | lever | Art Director - Mexico | Markets and Subscriber Growth | Mexico City | False | 2026-10-09T17:15:08.174000Z | |||
| Stripe | greenhouse | Abuse Investigator | 8611 Security Analytics | Dublin | 2026-09-03T13:30:34-04:00 | ||||
| Channable | recruitee | Senior Customer Success Manager Benelux | Customer Success | Utrecht, Utrecht, Netherlands | False | 3650 | 5000 | EUR | 2026-10-16 11:35:00 UTC |
| tado GmbH | personio | Team Lead Accounting (m/f/d) | Finance | Germany - Munich | 2026-01-22T09:48:25+00:00 |
Sample JSON record (long fields shortened):
{"company": "ramp","platform": "ashby","jobId": "34413f8d-26bf-4bbc-8ade-eb309a0e2245","title": "Security Engineer, Cloud","department": "Engineering","location": "New York, NY (HQ)","remote": false,"workplaceType": "hybrid","employmentType": "FullTime","salaryMin": 211400,"salaryMax": 290600,"salaryCurrency": "USD","salaryPeriod": "1 YEAR","salaryText": "$211.4K – $290.6K • Offers Equity","postedAt": "2026-04-07T17:12:35.753+00:00","descriptionText": "ABOUT RAMP\n\nRamp is building the smart infrastructure for finance teams, embedded in the transaction flow of every dollar a business spen...","jobUrl": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245","applyUrl": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245/application","companySlug": "ramp","input": "https://jobs.ashbyhq.com/ramp","scrapedAt": "2026-10-19T21:07:05Z","found": true}
Pricing
Pay per event: $0.002 per job ($2.00 per 1,000). No start fee, no monthly rental. Rows for not-found inputs and errors are free.
| Results | Cost |
|---|---|
| 100 jobs | $0.20 |
| 1,000 jobs | $2.00 |
| 10,000 jobs | $20.00 |
Apify's free plan includes monthly platform credit, so you can try it at no cost.
Integrations
- Google Sheets: use Apify's Google Sheets integration, or import the dataset CSV link with
=IMPORTDATA(). - Zapier & Make: trigger runs and receive the dataset via the official Apify apps.
- Webhooks & schedules: run daily or hourly and post results anywhere.
- AI agents (MCP): available to Claude, ChatGPT and other agents through the Apify MCP server.
- API & SDKs: call from Python, JavaScript or any HTTP client:
curl -X POST 'https://api.apify.com/v2/acts/clearpathdata~multi-ats-job-postings/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>' \-H 'Content-Type: application/json' \-d '{"companies": ["https://boards.greenhouse.io/stripe", "https://jobs.lever.co/spotify", "https://jobs.ashbyhq.com/ramp"], "keywords": ["engineer"]}'
FAQ
Which platforms are supported?
Greenhouse (boards.greenhouse.io / job-boards.greenhouse.io), Lever (jobs.lever.co), Ashby (jobs.ashbyhq.com), Recruitee (.recruitee.com) and Personio (.jobs.personio.de/.com). Workable and other ATSs return a free found: false row.
How do I find a company's ATS slug?
Open the company's careers page and click a job. The URL shows the ATS, e.g. jobs.lever.co/spotify/... → lever:spotify, or boards.greenhouse.io/stripe → greenhouse:stripe. Paste the URL as-is, and the Actor detects it.
Does it include salary?
Yes, when the employer publishes it: Ashby and Recruitee expose structured pay ranges, and Lever when salary range is set. Greenhouse and Personio feeds don't include salary.
How does Only new since last run work?
Job IDs are stored in a named key-value store in your account. The next run returns and charges only jobs it hasn't seen. Use a different stateStoreName per watchlist.
Can it search all companies on Greenhouse?
No. These APIs are per-company. You supply the list of companies (it can be hundreds).
Is this legal?
It only reads public job-board endpoints that each ATS provides so companies can display their jobs, honors robots.txt and rate limits politely. Not affiliated with any ATS vendor.
Something not working?
Open an issue on the Actor's Issues tab, and it will be fixed quickly.
More details
Scrape-free job postings from five applicant tracking systems in one normalized dataset. Paste company career page URLs; the platform is auto-detected and every job comes back in the same schema — ideal for recruiters, sourcers, job boards, sales-intelligence and hiring-trend analysis.
Uses only each platform's official, public job-board feed (the same feeds companies use to power their own careers pages): no login, no browser, no proxies.
| Platform | Source used | Example input |
|---|---|---|
| Greenhouse | Job Board API boards-api.greenhouse.io/v1/boards/{token}/jobs | https://boards.greenhouse.io/stripe |
| Lever | Postings API api.lever.co/v0/postings/{company} | https://jobs.lever.co/spotify |
| Ashby | Public Job Posting API api.ashbyhq.com/posting-api/job-board/{name} | https://jobs.ashbyhq.com/ramp |
| Recruitee | Careers Site API {company}.recruitee.com/api/offers/ | https://bunq.recruitee.com |
| Personio | Job XML feed {company}.jobs.personio.de/xml | https://tado.jobs.personio.de |
Output (one schema for all platforms)
company, companySlug, platform, jobId, title, department, location, remote, workplaceType, employmentType, salaryMin, salaryMax, salaryCurrency, salaryPeriod, salaryText, postedAt, descriptionText, jobUrl, applyUrl, scrapedAt
Fields a platform doesn't publish are null (e.g. Greenhouse/Personio feeds don't include salary; Greenhouse has no structured remote flag, so remote is inferred from the location text).
Features
- Auto-detect platform from URLs, or use
platform:slug(e.g.lever:spotify) or adefaultPlatformfor bare slugs. - Filters: keywords (title/department), locations, remote only, max jobs per company.
- Only new since last run: stores seen job IDs in a named key-value store, so scheduled runs return — and charge for — only new postings. Perfect for job alerts and hiring-signal monitoring.
- Unknown companies, and unsupported platforms such as Workable, return a free
found: falserow.
Pricing
Pay per event: $0.002 per job returned. No start fee; not-found rows and jobs filtered out are free.
Limits
- You supply the companies; these APIs have no cross-company search.
- Only public, listed postings. Custom-domain career pages must be given as their ATS URL/slug.
- Salary only where the employer publishes it (Lever, Ashby, Recruitee).
- Polite: one company at a time, ≥1s between requests (Lever Crawl-delay honored).
FAQ
Is this legal? It reads only public job-board endpoints each vendor provides for displaying jobs, and honors robots.txt. Not affiliated with Greenhouse, Lever, Ashby, Tellent/Recruitee or Personio.