Greenhouse Job Scraper API — All Jobs, Salary, Daily Monitor
Pricing
from $1.50 / 1,000 job scrapeds
Greenhouse Job Scraper API — All Jobs, Salary, Daily Monitor
Scrape every open job from any Greenhouse job board — pass a company domain or board slug. Titles, departments, locations, parsed salary ranges and full descriptions in a clean schema. Change tracking flags new, updated and removed postings for daily hiring monitoring.
Pricing
from $1.50 / 1,000 job scrapeds
Rating
0.0
(0)
Developer
ATS Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 hours ago
Last modified
Categories
Share
Greenhouse Job Scraper — All Jobs by Company, with Salary
Scrape every open job from any Greenhouse job board. Pass a company domain or board slug — get titles, departments, locations, parsed salary and full descriptions in a clean schema.
Input: ["stripe.com","boards.greenhouse.io/databricks","figma"]Output: every open job — normalized, deduplicated, salary parsed
What you actually get
Real rows from a live run:
| Job title | Company | Department | Location | Level | Salary |
|---|---|---|---|---|---|
| Account Executive, AI Startups (Hunter) | stripe | Startups - Account Executives (NA) | San Francisco +1 | mid | null |
| Account Executive, Bridge | stripe | Product Sales - MaaS | San Francisco +1 | mid | null |
Salary reads null when the company doesn't publish one — it is never guessed or filled in.
Straight to a spreadsheet
Export as CSV and nested fields flatten with / — no post-processing:
title,companySlug,department,locations/0,workplaceType,seniority,salary/min,salary/max,salary/currency,postedAt,source"Account Executive, AI Startups (Hunter)",stripe,Startups - Account Executives (NA),San Francisco,,mid,,,,2026-08-19,greenhouse"Account Executive, Bridge",stripe,Product Sales - MaaS,San Francisco,,mid,,,,2026-08-19,greenhouse
Full records also carry jobId, employmentType, applyUrl, descriptionText, descriptionHtml,
contentHash and scrapedAt. Turn off includeDescription for a smaller, faster payload.
Input
Accepts any of these, mixed freely:
Company domain (stripe.com), board URL (boards.greenhouse.io/databricks) or bare board slug (figma).
| Field | Type | Default | Description |
|---|---|---|---|
companies | array | — | See above |
onlyNewJobs | boolean | false | Return only jobs added or changed since the previous run |
trackingKey | string | default | Track multiple company lists independently |
includeRemovedJobs | boolean | false | Also emit jobs that disappeared |
includeDescription | boolean | true | Include full description text and HTML |
maxJobsPerCompany | integer | 0 | Cap per company (0 = no limit) |
You don't need to know the board slug. Pass the company domain and it gets resolved automatically.
Change tracking — turn it into a hiring monitor
Set onlyNewJobs: true and schedule the Actor. Each run returns only what changed:
added— posted since the last runupdated— title, salary, location or description changedremoved— job closed or pulled
The first run stores a baseline; every run after that is a diff. Useful for sales intelligence (hiring is a buying signal), recruiting, and keeping a job index fresh without re-ingesting everything.
Output
{"jobId": "greenhouse:acme:12345","source": "greenhouse","companySlug": "acme","companyDomain": "acme.com","title": "Senior Backend Engineer","department": "Engineering","team": "Platform","locations": ["New York, NY", "Remote (US)"],"workplaceType": "hybrid","employmentType": "FullTime","seniority": "senior","salary": { "min": 180000, "max": 240000, "currency": "USD", "period": "year" },"descriptionText": "…","descriptionHtml": "…","applyUrl": "https://…","postedAt": "2026-04-07T17:12:35.753Z","scrapedAt": "2026-08-24T18:03:28.104Z","contentHash": "593a0ec77ef05d3c","changeType": "added"}
contentHash changes only when meaningful content changes — use it for your own diffing.
seniority is derived from the title: intern, junior, mid, senior, principal, manager, director, executive.
Salary
Salary ranges are parsed out of the posting text, handling the formats companies actually use. Version numbers, headcounts and date ranges are not mistaken for salary.
$173,000.00 - $259,600.00/yr → 173000–259600 USD/year€55k–€70k per year → 55000–70000 EUR/yearUSD 90000 to 120000 annually → 90000–120000 USD/yearThe salary range is $10,000/month → 10000 USD/month
Companies that don't publish salary return salary: null. Nothing is invented.
Speed
No browser, no proxies — just the public JSON endpoint Greenhouse already serves.
| Board | Jobs | Time |
|---|---|---|
| Greenhouse / databricks | 824 | 0.5 s |
| Greenhouse / stripe | 577 | 0.7 s |
Need more than Greenhouse?
ATS Job Scraper covers Greenhouse, Lever, Ashby and Workday in a single run with the same output schema — useful when your company list spans several ATS platforms.
Notes
- Only public job board data is collected — the same pages any visitor can open. No accounts, no logins, no personal candidate data.
- Companies that can't be matched to a Greenhouse board are skipped with a warning; the rest of the run continues.