Greenhouse Jobs Scraper
Pricing
from $1.12 / 1,000 jobs
Greenhouse Jobs Scraper
[$1.60/1K jobs] Scrape every open job from any company's Greenhouse board: title, department, location, remote flag, salary range when posted, date, full description, apply link, emails. Filter by title, location, remote, date. No login.
Pricing
from $1.12 / 1,000 jobs
Rating
0.0
(0)
Developer
Matvey
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
3 days ago
Last modified
Categories
Share
Greenhouse Jobs Scraper downloads every open job from the Greenhouse job boards of the companies you list. Give it company slugs (stripe) or careers URLs (https://job-boards.greenhouse.io/anthropic), press Start, and get one row per job: title, department, location, remote / hybrid / on-site, salary when the company publishes it, publish date, the full description, the job and apply links, and any recruiter emails written in the posting. Filter by title keywords, location, workplace and date. No login, no API key, no browser. Export JSON, CSV or Excel, schedule it, or call it from the API.
This Actor is a focused entry point for the query "greenhouse jobs". It runs the same engine as Jobs API — Indeed, LinkedIn & career sites, which also reads Greenhouse, Lever, Ashby, Workable and SmartRecruiters boards and searches Indeed and LinkedIn. Use Jobs API when you need several systems or job boards in one run.
What does the Greenhouse jobs scraper do?
Greenhouse is the applicant-tracking system behind the careers pages of thousands of companies. Every company on Greenhouse has a public job board (boards.greenhouse.io/<slug>, job-boards.greenhouse.io/<slug>), and Greenhouse serves that board through a public JSON API (boards-api.greenhouse.io). This Actor reads that API for each company in your list — one request returns the whole board, with descriptions — and turns it into clean rows in the same format for every company.
- Whole boards in seconds. A company with 800 open roles is one request, not 800 page visits.
- Filters applied for you: title keywords, locations, remote / hybrid / on-site, posted within a day / week / month or after a fixed date. Jobs come newest first, so a per-company cap keeps the freshest ones.
- Normalised fields you can sort and join: ISO dates,
isRemoteandworkplaceType,salaryMin/salaryMaxas numbers. - Nothing silently disappears. A company slug that does not exist on Greenhouse gets its own free error row saying so; a run where the filters left nothing gets a free row explaining which filter to widen.
What it does not do: it does not search all Greenhouse companies at once — you give the companies. There is no global directory of Greenhouse boards in this Actor. If you need a keyword search across the whole job market, use Jobs API (Indeed + LinkedIn).
What data does it return?
| Field | Example |
|---|---|
source, board, id, url | greenhouse · gitlab · 8859063002 · https://job-boards.greenhouse.io/gitlab/jobs/8859063002 |
title, company, department | Support Engineer, U.S. Government Support · GitLab · PubSec Customer Support |
location, isRemote, workplaceType | Remote, United States · true · remote |
salaryMin, salaryMax, salaryCurrency, salaryPeriod, salaryText | 95200 · 160800 · USD · year · "United States Salary Range $95,200 – $160,800 USD" |
postedAt | 2026-10-05T19:24:21.000Z (first published) |
employmentType, jobTypes | when the company fills Greenhouse's "Employment type" field, else null |
description, descriptionHtml | full text and HTML |
emails, phones, companyDomain | addresses written in the posting · domain from the apply link when it is the company's own site |
query, scrapedAt | (empty for boards) · run time |
- Salary comes from Greenhouse's pay-transparency block, which many US companies add to the posting (checked 06.10.2026: Anthropic 567 of 645 jobs, Airbnb 120 of 151, GitLab 94 of 210; Stripe and Discord 0). Only that block is read, never loose numbers in the text, so when a company does not publish a range the salary fields are null. Turning off descriptions also turns off the salary.
- Workplace: Greenhouse has no remote/hybrid field. A job counts as remote when its location says "Remote" (e.g.
Remote, United States), hybrid when it says "Hybrid". A remote job whose location is just a city is not caught by the "Remote only" filter. - Company is the name Greenhouse shows on the board.
How much does it cost?
$1.60 per 1,000 jobs ($0.0016 per job row) on the Free plan, down to $1.12 per 1,000 on higher Apify plans. No fee per run, per company or per request. Error rows (unknown company, a board that did not answer) and the "nothing matched" explanation row are free. Jobs removed by your filters are not charged — you pay only for rows in the dataset.
Example: 10 companies × 150 open jobs = 1,500 rows = $2.40 on the Free plan. Filter to "engineer" + "remote" and you pay only for those rows.
How to scrape Greenhouse jobs
- Open the Input tab.
- Put company slugs or careers URLs into 🏢 Companies on Greenhouse, one per line. The slug is the part after the board domain: in
https://job-boards.greenhouse.io/anthropicit isanthropic. - Optional: add Title keywords, Locations, Workplace and Posted within.
- Press Start, then download the results from the Output tab, or read them through the API.
An empty API call works too: with no companies, the Actor returns a demo — the 20 newest jobs each from gitlab, discord and airbnb.
⬇️ Input
{"companies": ["anthropic", "https://job-boards.greenhouse.io/gitlab", "airbnb"],"titleKeywords": ["engineer"],"workplace": "remote","postedWithin": "month"}
| Field | Default | What it does |
|---|---|---|
companies | demo | Greenhouse board slugs or careers URLs. A URL from another supported system (Greenhouse, Lever, Ashby, Workable, SmartRecruiters) also works |
titleKeywords | empty | Keep jobs whose title or department contains one of the words |
locations | empty | Keep jobs whose location contains one of the texts |
workplace | any | remote, hybrid or onsite |
postedWithin / postedAfter | any | Drop older jobs (day, 3days, week, month, or a YYYY-MM-DD date) |
maxJobsPerCompany | all | Cap per board after the filters, newest first |
maxItems | 100,000 | Cap for the whole run |
includeDescription | true | Full description text and HTML |
includeContacts | true | Emails and phones found in the posting, free |
concurrency, proxyConfiguration | 5, off | Boards read at once; no proxy needed — if a board refuses a direct request it is retried once through Apify Proxy |
⬆️ Output
One row per job with "type": "job". Free rows with "type": "error" explain a company that could not be read or a search that matched nothing. Download as JSON, CSV, Excel or XML, or get it from the API (/datasets/{id}/items). A JSON summary of the run is saved as STATS in the key-value store.
Use cases
- Job boards and aggregators: pull the full, current list of roles from the companies you track, every day.
- Recruiting and sourcing: watch competitors' and target companies' openings by department and location.
- Sales and lead generation: a company hiring five sales engineers is a company buying sales tools — filter by title and push to your CRM.
- Market and salary research: compare published salary ranges by role, location and company.
- Job alerts: schedule a daily run with
postedWithin: "day"and send new postings to Slack, email or a Google Sheet.
Tips
- Many companies use different systems for different brands. If a slug returns "not found", open the company's careers page and look at the job links:
greenhouse.io,lever.coandashbyhq.comtell you which system and slug to use. - For a daily feed use Schedules with
postedWithin: "day"(orpostedAfterset to yesterday) so you pay only for new jobs. - Everything in this Actor is available from the API and to AI agents through the Apify MCP server.
❓ FAQ
Is it legal? It reads job postings that companies publish publicly on purpose, through the public API Greenhouse provides for job boards. Check your own use against the laws that apply to you, especially if you process personal data such as recruiter emails.
Why is a company missing jobs I see on its website? Some companies list a part of their roles on another system or hide internal postings from the public board. This Actor returns exactly what the public Greenhouse board shows.
Can I search all Greenhouse companies by keyword? Not with this Actor — you give the companies. For a market-wide keyword search use Jobs API.
Your feedback
Found a bug or a board that does not parse well? Open an issue on the Issues tab — we fix reports quickly.