ATS Job Board Scraper — Greenhouse
Pricing
from $1.40 / 1,000 job scrapeds
ATS Job Board Scraper — Greenhouse
Pull every open job from company career sites on Greenhouse, Lever and Ashby using their official public job board APIs. Give company slugs or board URLs and get normalized jobs with full descriptions, departments, remote flag and salary ranges where published.
Pricing
from $1.40 / 1,000 job scrapeds
Rating
0.0
(0)
Developer
James White
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 hours ago
Last modified
Categories
Share
ATS Job Board Scraper — Greenhouse, Lever and Ashby
Get every open job from company career sites hosted on Greenhouse, Lever and Ashby. You give it company names (board slugs) or career board links. It returns one clean, consistent list of jobs: title, location, department, employment type, remote flag, published dates, full description and salary range where the company publishes one.
The tool reads only the official public job board APIs that these three vendors provide for showing open roles. It does not use a browser and does not parse web pages, so runs are fast and predictable.
Price
$0.002 per job saved ($2 per 1,000 jobs). You pay only for jobs that pass your filters. Jobs removed by the keyword, location or remote filters are never saved and never charged.
Typical uses
- Track hiring at competitors, customers or portfolio companies
- Build job boards or newsletters for a niche, such as remote engineering roles
- Collect salary ranges for compensation benchmarking (Ashby and Lever boards that publish them)
- Sales prospecting: spot companies hiring for roles that signal a need for your product
- Labour market research across many companies at once
Inputs
| Field | What it does | Default |
|---|---|---|
Companies (slugs or board URLs) (companies) | Required. A list of company board names, such as stripe, or board links such as https://job-boards.greenhouse.io/stripe, https://jobs.lever.co/palantir or https://jobs.ashbyhq.com/ramp. Links to the vendors' API addresses also work. You can mix slugs and links. | ["stripe"] |
ATS provider (ats) | Which system to check for plain slugs: auto, greenhouse, lever or ashby. With auto, the tool tries Greenhouse, then Lever, then Ashby, and uses the first one that has open jobs for that slug. Links are always recognised automatically. | auto |
Title keywords (keywords) | Keep only jobs whose title contains at least one of these words. Case does not matter. Leave empty to keep every job. | empty |
Location contains (locationFilter) | Keep only jobs whose location text contains this text, for example London or Remote. Case does not matter. Secondary locations and office names are checked too. | empty |
Remote jobs only (remoteOnly) | Keep only jobs marked remote by the ATS, or whose location mentions remote. | false |
Include full description (includeDescription) | Add the full job description as HTML and as plain text. Turn it off for smaller results. | true |
Max jobs (maxItems) | The most jobs to save across all companies. 0 means no limit. The run stops as soon as this number is reached. | 100 |
Example input
{"companies": ["stripe","https://jobs.lever.co/palantir","https://jobs.ashbyhq.com/ramp"],"ats": "auto","keywords": ["engineer", "security"],"locationFilter": "","remoteOnly": false,"includeDescription": true,"maxItems": 100}
Output
Each job is one row with the same fields, whichever ATS it came from. Fields with no published value are null.
| Field | Description |
|---|---|
jobId | The job posting ID used by the ATS |
title | Job title |
company | Company board slug the job came from |
ats | greenhouse, lever or ashby |
jobUrl | Public link to the job posting |
applyUrl | Application link, when it differs from jobUrl (Lever and Ashby) |
location | Main location, as published |
department | Department or team |
employmentType | For example Full-time or Part-time, when published |
isRemote | true if the ATS marks the job as remote or the location mentions remote |
salaryMin / salaryMax | Published salary range, when available |
salaryCurrency | Currency code, such as USD |
salaryInterval | Pay period, such as per-year or per-hour |
descriptionHtml | Full description as HTML (if descriptions are on) |
descriptionText | Full description as plain text (if descriptions are on) |
publishedAt | When the job was first published or created (ISO date-time) |
updatedAt | When the job was last updated, if the ATS provides it |
scrapedAt | When this row was collected |
Example row
{"jobId": "34413f8d-26bf-4bbc-8ade-eb309a0e2245","title": "Security Engineer, Cloud","company": "ramp","ats": "ashby","jobUrl": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245","applyUrl": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245/application","location": "New York, NY (HQ)","department": "Engineering","employmentType": "Full-time","isRemote": true,"salaryMin": 211400,"salaryMax": 290600,"salaryCurrency": "USD","salaryInterval": "per-year","descriptionHtml": "<h1><strong>About Ramp</strong></h1><p>Ramp is building the smart infrastructure for finance teams...</p>","descriptionText": "ABOUT RAMP Ramp is building the smart infrastructure for finance teams... (shortened)","publishedAt": "2026-04-07T17:12:35.753+00:00","updatedAt": null,"scrapedAt": "2026-10-15T09:30:00.000000+00:00"}
Limits and good to know
- Salary ranges come from Ashby compensation data and the Lever salary range field, and only when the company publishes them. Greenhouse's job list does not include structured salary, so salary fields are empty for Greenhouse jobs.
- Updated dates are provided by Greenhouse. Lever and Ashby often leave them out.
- Only public, listed jobs are returned. Internal or unlisted postings are not available.
- Auto-detection: if the same slug exists on more than one ATS, the first one with open jobs is used (Greenhouse, then Lever, then Ashby). Set
atsor use a board link to pick one explicitly. - Company websites (for example a company's own careers page on its own domain) are not supported. You need the company's Greenhouse, Lever or Ashby board slug or link, which is usually visible in the job application link.
- Lever boards in the EU region (
jobs.eu.lever.co) are supported when you give the board link. - If an API refuses access (HTTP 403) or keeps rate-limiting (HTTP 429) after a few polite retries, the run stops and logs the reason. Jobs saved before that point remain in your dataset.
- Descriptions are returned as the company wrote them. Text formatting can vary between companies.
Terms
This tool reads job postings that companies publish openly through their ATS vendor's public job board API. It does not collect recruiter or hiring-manager details as separate fields. You are responsible for using the data in line with applicable laws and with the terms of the companies and vendors involved. Please respect the original postings, for example by linking back to jobUrl when you republish jobs.