Greenhouse Job Board Scraper – Salaries
Pricing
from $0.70 / 1,000 job scrapeds
Greenhouse Job Board Scraper – Salaries
Extract every open job from any company's Greenhouse board through the public Job Board API. Accepts tokens or careers URLs, supports keyword, location, department and updated-since filters, and parses salary ranges. $1 per 1,000 jobs.
Pricing
from $0.70 / 1,000 job scrapeds
Rating
0.0
(0)
Developer
James White
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Security
Limited permissionsShare
Greenhouse Job Board Scraper \u2013 Salaries
Collect every open job from any company that hires through Greenhouse. Give it a company's board token (for example airbnb) or simply paste their Greenhouse careers link, and you get a clean table of jobs with titles, locations, departments, offices, links, dates, full descriptions and, where the posting shows one, a parsed salary range.
The data comes from Greenhouse's public, documented Job Board API, the same source that powers companies' own careers pages. There is no fragile page scraping, so results are consistent run after run.
Price
$1 per 1,000 jobs ($0.001 per job saved). Filters are applied before a job is saved, so you only pay for the jobs that match what you asked for.
Typical uses
- Track hiring at competitors, customers or prospects
- Build job boards or niche job newsletters
- Salary benchmarking from pay-transparency ranges
- Daily monitoring of new or changed postings with the "Updated since" option
- Recruiting and sales-intelligence research
Inputs
| Input | What it does |
|---|---|
Board tokens or careers URLs (boardTokens, required) | A list of companies. Enter either the Greenhouse board token (e.g. airbnb, stripe) or a Greenhouse careers link such as https://boards.greenhouse.io/stripe, https://job-boards.greenhouse.io/stripe or an embed link containing ?for=stripe. The token is detected automatically. |
Title keywords (keywords) | Keep only jobs whose title contains any of these words (not case-sensitive). Leave empty for all jobs. |
Location filter (locations) | Keep only jobs whose location or office contains any of these words, e.g. London or Remote. |
Department filter (departments) | Keep only jobs in departments whose name contains any of these words, e.g. Engineering. |
Remote only (remoteOnly) | Return only jobs detected as remote (see Limits). Default: off. |
Updated since (updatedSince) | Return only jobs updated on or after this date, e.g. 2024-06-01. Ideal for cheap daily runs. |
Include description (includeDescription) | Include the full job description as HTML and plain text. Default: on. Salary is parsed either way. |
Max jobs (maxItems) | The most jobs to return across all boards. Default: 1000. The run stops as soon as this number is reached. |
Example input
{"boardTokens": ["airbnb", "https://boards.greenhouse.io/stripe"],"keywords": ["manager", "engineer"],"locations": [],"departments": [],"remoteOnly": false,"updatedSince": "2024-06-01","includeDescription": true,"maxItems": 100}
Output fields
| Field | Description |
|---|---|
boardToken | Greenhouse board token of the company |
companyName | Company name |
jobId | Greenhouse job ID |
title | Job title |
location | Location as posted |
isRemote | true if the job looks remote (based on location, offices, title and workplace-type info) |
departments | Department names |
offices | Office names and locations |
absoluteUrl | Link to the public job posting |
updatedAt | When the posting was last updated |
firstPublished | When the posting was first published, if provided |
requisitionId | The company's internal requisition ID, if provided |
descriptionHtml | Full description in HTML (when descriptions are included) |
descriptionText | Full description as plain text (when descriptions are included) |
salaryMin | Lowest salary in the posted range, if one was found |
salaryMax | Highest salary in the posted range, if one was found |
salaryCurrency | Currency code of the salary, e.g. GBP |
scrapedAt | When the job was collected |
Example output row
{"boardToken": "airbnb","companyName": "Airbnb","jobId": 8184174,"title": "Account Manager","location": "London, United Kingdom","isRemote": false,"departments": ["Business Development"],"offices": [{"name": "London, United Kingdom", "location": "London, United Kingdom"}],"absoluteUrl": "https://careers.airbnb.com/positions/8184174?gh_jid=8184174","updatedAt": "2026-09-29T20:00:54-04:00","firstPublished": "2026-09-09T04:35:19-04:00","requisitionId": "MULTI","descriptionHtml": "<div class=\"content-intro\"><p>Airbnb was born in 2007 ...</p></div>","descriptionText": "Airbnb was born in 2007 ...","salaryMin": 46000,"salaryMax": 54000,"salaryCurrency": "GBP","scrapedAt": "2026-10-08T12:00:00+00:00"}
Privacy
The tool collects job postings only. Any email addresses that appear inside job descriptions (such as recruiter contact addresses) are replaced with [email removed] before the data is saved.
Limits
- Only jobs a company has published on its Greenhouse board are available. Companies that do not use Greenhouse, or that have no public board, return nothing.
- Salary fields are filled only when the posting states a range with a currency. Single figures, hourly vs. annual distinctions and complex multi-region ranges may not be captured; when a posting lists several ranges, the first one found is returned.
- The remote flag is a best-effort guess based on words like "Remote" or "Anywhere" in the location, offices, title or workplace-type fields.
- Filters use simple "contains" matching on the text the company published.
- If Greenhouse refuses requests or rate-limits the tool, the run stops and logs the reason instead of retrying indefinitely.
Terms
This tool reads Greenhouse's public Job Board API, which is intended for displaying published job posts. You are responsible for using the data in line with applicable laws and the terms of Greenhouse and of the companies whose jobs you collect. Job content remains the property of the respective employers.