Greenhouse Jobs Scraper: Export Any Greenhouse Job Board
Pricing
$2.00 / 1,000 job scrapeds
Greenhouse Jobs Scraper: Export Any Greenhouse Job Board
Scrape all open jobs from any Greenhouse job board: title, location, remote flag, department, employment type, posting date, salary when published, full description and apply URL. Paste a board URL or just the board token. No API key. $2.00 per 1,000 jobs.
Pricing
$2.00 / 1,000 job scrapeds
Rating
0.0
(0)
Developer
PulseData
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Share
Greenhouse Jobs Scraper exports every open job from one or more Greenhouse job boards as JSON, CSV or Excel. You give it board URLs or just board tokens such as stripe, and it returns one record per job with title, location, offices, department, posting and update dates, the full description and the job URL. It costs $2.00 per 1,000 jobs, so a 500-job board costs about $1.00.
Features
- Scrape Greenhouse job boards by URL or by board token. A bare token like
airbnbis expanded tohttps://job-boards.greenhouse.io/airbnb. - Export Greenhouse jobs to CSV, JSON or Excel with the full description as HTML and plain text.
- Scrape EU Greenhouse boards on
boards.eu.greenhouse.ioandjob-boards.eu.greenhouse.io(pass the full URL for those). - Find the Greenhouse board behind a company careers page. Paste
https://company.com/careersand the actor looks in the page HTML for a Greenhouse embed or link. - Filter Greenhouse jobs by keyword, office location, remote and posting date before they are saved.
- Monitor new Greenhouse job postings on a schedule with
postedWithinDays. - No API key, no login and no proxy. Greenhouse publishes every board through its public Job Board API, which is what this actor reads.
Use cases
- Job board aggregation: keep a list of 200 Greenhouse companies in one input and refresh your own board daily.
- Recruiting and sourcing: see which departments a competitor is hiring into and in which offices.
- Market research: count open roles by Greenhouse department over time to track team growth at a set of companies.
- Lead generation: a company opening several "Data Engineer" roles is a likely buyer of data tooling. Put those titles in
keywordsand run weekly.
Input
{"startUrls": ["https://job-boards.greenhouse.io/stripe","airbnb","https://job-boards.eu.greenhouse.io/examplecompany"],"keywords": ["engineer", "analyst"],"locations": ["Dublin", "London", "Remote"],"remoteOnly": false,"postedWithinDays": 14,"includeDescription": true,"maxJobsPerCompany": 0}
| Field | Type | Default | What it does |
|---|---|---|---|
startUrls | array of strings | (required) | Greenhouse board URLs or bare board tokens, one per line. |
keywords | array | [] | Keep only jobs whose title contains one of these words (case-insensitive). |
locations | array | [] | Keep only jobs whose location or office names contain one of these strings. |
remoteOnly | boolean | false | Keep only jobs whose location text mentions remote, anywhere or similar. |
postedWithinDays | integer | 0 | Keep only jobs first published in the last N days (the update date is used when there is no publish date). 0 means no limit. |
includeDescription | boolean | true | Include descriptionHtml and descriptionText. Greenhouse returns them in the same request, so this adds no extra requests. |
maxJobsPerCompany | integer | 0 | Cap per board, applied after the filters. 0 means no limit. |
proxyConfiguration | object | { "useApifyProxy": false } | Optional Apify Proxy. |
Accepted Greenhouse URL formats:
https://job-boards.greenhouse.io/stripehttps://boards.greenhouse.io/stripehttps://boards.greenhouse.io/embed/job_board?for=stripe(the embed URL)https://job-boards.eu.greenhouse.io/companyandhttps://boards.eu.greenhouse.io/company(EU-hosted boards, read from the EU API)stripe(bare token, always expanded to the US host, so use the full URL for EU boards)https://company.com/careers(a page that embeds or links a Greenhouse board)
The board token is the last part of the board URL: for https://job-boards.greenhouse.io/stripe it is stripe.
Output
One item per job:
{"title": "Abuse Investigator","company": "Stripe","location": "Dublin","locations": ["Dublin", "Dublin, Ireland"],"country": null,"remote": false,"workplaceType": null,"department": "8611 Security Analytics","team": null,"employmentType": null,"seniority": null,"salary": null,"postedAt": "2026-09-03T17:32:53.000Z","updatedAt": "2026-09-18T09:04:11.000Z","url": "https://stripe.com/jobs/search?gh_jid=8172508","applyUrl": "https://stripe.com/jobs/search?gh_jid=8172508","descriptionHtml": "<h2>Who we are</h2><p>…</p>","descriptionText": "Who we are\n\nStripe is a financial infrastructure platform…","ats": "greenhouse","atsJobId": "8172508","sourceUrl": "https://job-boards.greenhouse.io/stripe","scrapedAt": "2026-09-25T08:15:02.000Z"}
What Greenhouse exposes, and how it maps:
companyis the company name Greenhouse returns for the board (falls back to the token).locationis the job's location text;locationsadds the names of every office the job is attached to.departmentjoins all Greenhouse departments of the job with commas.postedAtis Greenhouse's first published date andupdatedAtits last update.urlandapplyUrlare Greenhouse's absolute URL for the job. Many companies point this at their own careers site, as Stripe does above.employmentTypeis filled only if the company has a custom Greenhouse field whose name contains "employment" or "type".- Greenhouse has no salary field in its public API.
salaryis filled only when a pay range appears near the start of the description text. team,country,workplaceTypeandseniorityare not published by Greenhouse and staynull.
If a token does not exist, the dataset gets one row with sourceUrl, ats, slug and an error message such as HTTP 404. Error rows are not charged.
Pricing
Pay per event: $0.002 per job saved to the dataset ($2.00 per 1,000 jobs). There is no start fee.
Worked example: you track 40 Greenhouse boards with about 150 open roles each, so 6,000 jobs per full run cost $12.00. Filter with keywords: ["engineer"] and keep, say, 1,800 of them, and the run costs $3.60, because jobs removed by filters are never charged. A daily run with postedWithinDays: 1 over the same boards typically returns a few dozen jobs and costs cents.
FAQ
Do I need an API key or a Greenhouse account? No. Greenhouse job boards are public and the actor reads them through the public Job Board API.
How many jobs can it get from one board?
All of them. Greenhouse returns the whole board in one response, so there is no pagination limit. Use maxJobsPerCompany if you want fewer.
What can it not do? It only sees jobs the company publishes on its external board. Internal postings, application questions, hiring managers and candidate data are not available. It does not render JavaScript, so if a careers page loads Greenhouse through a script the actor cannot see, paste the board URL or the token instead.
Do I need proxies?
Normally no. The actor retries rate limits and server errors with backoff. Enable proxyConfiguration only for very large lists that hit HTTP 429.
Can I paste boards from other ATS here? This actor is set up for Greenhouse. For mixed lists (Lever, Ashby, Workday, Workable and others) use the Career Page Jobs Scraper, which auto-detects 12 systems.
How do I export or automate the results? Download the dataset as JSON, CSV, Excel, XML or HTML, call the actor through the Apify API or SDKs, or connect it to Google Sheets, Make, Zapier or n8n.
Can I run it on a schedule?
Yes. Create a schedule in Apify Console and set postedWithinDays so each run only returns new postings.
Related actors
- Career Page Jobs Scraper (12 ATS): the multi-ATS version with auto-detection, for lists that mix Greenhouse with other systems.
- Lever Jobs Scraper: the same output for Lever boards, which also publish salary ranges and workplace type.
- Ashby Jobs Scraper: the same output for Ashby boards, common among newer startups.
- Workday Jobs Scraper: for large enterprises that run their careers site on Workday.
- Website Tech Stack Detector: add each hiring company's tech stack to score leads.