ATS Jobs Scraper - Greenhouse, Ashby & Lever
Pricing
from $1.50 / 1,000 results
ATS Jobs Scraper - Greenhouse, Ashby & Lever
Scrape job postings from any company career board on Greenhouse, Ashby or Lever. Paste the careers page URL and get every open role with title, location, department, work mode, employment type and salary — one unified schema across all three ATS. Official public APIs, no blocking.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
Juan ignacio Veltri
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
ATS Jobs Scraper — Greenhouse, Ashby & Lever
Scrape company career boards from three applicant tracking systems with one Actor and one output schema.
Paste a careers page URL. The Actor detects which ATS the company uses, pulls the entire board, and returns every job in the same shape — whether it came from Greenhouse, Ashby or Lever.
Why this one
Most job scrapers cover a single ATS and hand you the provider's raw JSON. Track 40 companies and you end up writing three different normalisers and reconciling three date formats.
- One schema across all three.
title,company,location,workMode,employmentType,salaryMin/Max,salaryPeriod,publishedAt— same fields, same types, same ISO-8601 dates, no matter the source. - No ATS guessing. Paste
https://jobs.lever.co/palantirorhttps://job-boards.greenhouse.io/stripe. The Actor works out the rest. - Official public APIs. No captchas, no proxies, no blocked runs. One request returns a company's whole board, which is why this is one of the cheapest job scrapers you can run.
- Filtering that actually saves money. ATS APIs return everything; jobs filtered out here are never saved and never charged.
Example output
{"id": "9f2a1c4e8b7d3a56","url": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245","source": "ats:ashby","country": "US","scrapedAt": "2026-08-19T14:32:10.512Z","title": "Security Engineer, Cloud","company": "Ramp","description": "Ramp is building the next generation of finance tools...","salaryMin": { "amount": 180000, "currency": "USD", "raw": "$180K – $220K", "onRequest": false },"salaryMax": { "amount": 220000, "currency": "USD", "raw": "$180K – $220K", "onRequest": false },"salaryPeriod": "year","employmentType": "full_time","workMode": "hybrid","area": "Backend","location": { "address": "New York, NY (HQ)", "city": "New York", "country": "US" },"publishedAt": "2026-04-07T17:12:35.753Z","listingId": "34413f8d-26bf-4bbc-8ade-eb309a0e2245"}
How to use it
Track a list of companies
{"boards": ["https://job-boards.greenhouse.io/stripe","https://jobs.ashbyhq.com/ramp","https://jobs.lever.co/palantir"],"maxItems": 1000}
Only remote engineering roles
{"boards": ["https://job-boards.greenhouse.io/stripe"],"titleKeywords": ["engineer", "developer"],"workMode": "remote"}
Daily monitoring of new postings
Schedule it and turn includeSeen off — each run returns only what was posted since the last one.
{"boards": ["https://jobs.ashbyhq.com/ramp", "https://jobs.lever.co/palantir"],"postedWithinDays": 7,"includeSeen": false}
Salary benchmarking
{"boards": ["https://jobs.ashbyhq.com/ramp"],"onlyWithSalary": true}
Input reference
| Field | Type | Default | What it does |
|---|---|---|---|
boards | array | example board | Careers page URLs or provider:token values |
provider | enum | — | Default ATS, only for bare tokens |
titleKeywords | array | [] | Keep jobs whose title matches any word |
locationKeywords | array | [] | Keep jobs whose location matches |
departmentKeywords | array | [] | Keep jobs in matching departments or teams |
workMode | enum | any | remote, hybrid, onsite |
employmentType | enum | any | Full-time, contract, internship… |
postedWithinDays | integer | — | Only jobs posted in the last N days |
onlyWithSalary | boolean | false | Only jobs that publish a salary range |
maxItems | integer | 500 | Hard stop across all boards. Your cost control |
maxItemsPerBoard | integer | 0 | Cap per company. 0 = no cap |
includeSeen | boolean | true | false returns only jobs new since the last run |
What each ATS publishes
Field coverage differs by provider. This is stated up front so nothing surprises you:
| Field | Greenhouse | Ashby | Lever |
|---|---|---|---|
| Title, company, location, URL | ✅ | ✅ | ✅ |
| Full description | ✅ | ✅ | ✅ |
| Department / team | ✅ | ✅ | ✅ |
| Publish date | ✅ | ✅ | ✅ |
| Employment type | — | ✅ | ✅ |
| Work mode | inferred | ✅ | ✅ |
| Salary range | rarely | ✅ | sometimes |
| Salary period | — | when stated | ✅ |
Filters that depend on a field a provider does not publish will exclude that provider's jobs. That is deliberate: silently including them would misreport the filter you asked for.
Cost
Charged per job saved. Jobs removed by your filters or already seen are not charged.
Because these are public JSON APIs, there is no proxy cost and no retry-on-block waste — a company's entire board arrives in a single request.
FAQ
How do I find a company's board URL? Open their careers page. If the URL contains greenhouse.io, ashbyhq.com or lever.co, paste it as is.
Is this legal? These are public, unauthenticated endpoints the companies publish so their jobs can be indexed and syndicated. No login is bypassed and no personal data is collected.
Why did I get fewer jobs than the company lists? Almost always a filter. Check the run log — it reports exactly how many jobs each filter removed.
Can I get jobs from a company not on these three? Not yet. Open an issue with the careers URL and it may get added.
Support
Found a company whose board does not parse? Open an issue with the careers page URL. Reports with a URL get fixed fastest.