Greenhouse Job Board API — Jobs, Departments & Offices
Pricing
from $1.50 / 1,000 results
Greenhouse Job Board API — Jobs, Departments & Offices
Unofficial Greenhouse Job Board API in one Apify actor. Scrape jobs, full descriptions, departments and offices from any company on Greenhouse — Airbnb, Stripe, Anthropic, Mistral AI, Doctolib, Datadog, Notion. Pure HTTP, no auth, parallel batch. For HR tech, ATS, lead gen and AI agents.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
Logiover
Maintained by CommunityActor stats
0
Bookmarked
12
Total users
8
Monthly active users
14 hours
Issues response
a day ago
Last modified
Categories
Share
🌱 Greenhouse Job Board API — Scrape Tech Jobs, Departments & Offices

The unofficial Greenhouse Job Board API in a single Apify Actor. Scrape every open job, full description, department, and office from any company hosted on Greenhouse — Airbnb, Stripe, Anthropic, Mistral AI, Datadog, Doctolib, Ramp, and 5,000+ more tech companies — all with one input. Pure HTTP, no login, no captcha, no API key, sub-second per board.
Greenhouse publishes a clean, public, rate-limit-free REST API for every company's job board. This Actor wraps it, normalizes the output, adds sensible filters, and ships it as a schedulable, exportable dataset (JSON, CSV, Excel) you can call from Make, n8n, Zapier, your CRM, or an AI agent.
✨ What this Actor does / Key features
- 5,000+ companies in one Actor — pass a list of board tokens and cover every Greenhouse customer.
- 5 modes —
jobs(all open jobs),jobDetail(questions and pay ranges for specific job IDs),board(company board profile),departments(department tree),offices(office tree). - No auth, no anti-bot — Greenhouse's GET endpoints are fully public and not rate-limited.
- Full job content — complete HTML descriptions, decoded by default, with an optional plain-text version.
- Structured metadata — custom fields like employment type, full/part-time, and visa sponsorship as a key→value map.
- Departments & offices — returned as structured trees with parent/child relationships.
- Compliance fields — GDPR
dataComplianceflags, plus EEOC and demographic questions injobDetailmode. - Pay ranges — salary data via
includePayRangeswhen the employer publishes it. - Client-side filters — by department, office, location, title keyword, and language.
- Parallel fetching — configurable concurrency across many boards in one run.
🔍 Input
| Field | Type | Description |
|---|---|---|
mode | string (enum) | Required. jobs, jobDetail, board, departments, or offices. Default jobs. |
boardTokens | array | Greenhouse board tokens — the slug after boards.greenhouse.io/ (e.g. airbnb, stripe, anthropic). Fetched in parallel. |
jobIds | array | Numeric job IDs to fetch in jobDetail mode. Scoped to the first board token. |
fullContent | boolean | In jobs mode, include full HTML description, departments, and offices. Default true. |
includeQuestions | boolean | In jobDetail mode, include application, EEOC, location, and demographic questions. Default false. |
includePayRanges | boolean | In jobDetail mode, include configured pay ranges. Default false. |
decodeContent | boolean | Decode HTML entities in the content field. Default true. |
stripHtml | boolean | Also produce a plain-text contentText field. Default false. |
filterDepartments | array | Case-insensitive substring match against department names. |
filterOffices | array | Case-insensitive substring match against office names. |
filterLocations | array | Case-insensitive substring match against the job's location name. |
filterTitleKeywords | array | Case-insensitive substring match against job titles. |
filterLanguages | array | Match the job's language field (ISO 639-1 codes like en, fr). |
maxResultsPerBoard | integer | Cap jobs saved per board. 0 = no cap. |
concurrency | integer | Parallel board fetches, 1–20. Default 5. |
🚀 Example input
{"mode": "jobs","boardTokens": ["anthropic", "mistralai", "ramp"],"fullContent": true,"stripHtml": true,"filterDepartments": ["Engineering", "Research"],"filterLocations": ["San Francisco", "London", "Remote"],"concurrency": 5}
📦 Output
Every item is tagged with _mode, boardToken, and scrapedAt. Main fields for jobs mode:
| Field | Description |
|---|---|
_mode | Which mode produced the item. |
boardToken | Greenhouse board slug. |
id | Public job-post ID. |
internalJobId | Greenhouse internal job ID (null for prospect posts). |
title | Job title. |
companyName | Human-readable company name. |
requisitionId | Internal HR requisition identifier. |
location / locationName | Raw location object and flattened location string. |
absoluteUrl | Public-facing job post URL. |
language | ISO 639-1 language code. |
updatedAt / firstPublished | Last-updated and first-published timestamps (ISO 8601). |
applicationDeadline | Deadline timestamp, or null. |
content / contentText | Full HTML description and optional plain-text version. |
departments / departmentNames | Structured department objects and flattened names. |
offices / officeNames | Structured office objects and flattened names. |
metadata / metadataMap | Custom job fields as an array and a key→value map. |
dataCompliance | GDPR and compliance flags configured by the employer. |
scrapedAt | When the item was written to the dataset. |
In jobDetail mode, items also include questions, payInputRanges, locationQuestions, compliance, and demographicQuestions. In departments/offices modes, items include name, parentId, childIds, jobs, jobCount, and children.
💡 Use cases
- HR tech & job aggregators — power a meta-search with near-real-time tech job inventory.
- Sales intelligence & lead generation — hiring signals are a strong B2B growth proxy; a spike in Engineering hires flags a hot lead.
- Recruitment agencies — track which companies open which roles, in which cities, with what salary bands.
- VC & scout tools — hiring velocity is leading-indicator data for portfolio monitoring.
- Compensation intelligence — combine pay ranges, titles, and locations to build salary benchmarks.
- AI agents & career tools — feed structured job data into assistants for career-coaching and company research.
❓ Frequently Asked Questions
Do I need a Greenhouse API key or login? No. The Greenhouse Job Board API GET endpoints are fully public. This Actor is read-only — you only need an Apify account.
Is it legal to use this data?
The Actor consumes the public Greenhouse Job Board API, which Greenhouse documents as publicly accessible. The data is what employers chose to publish on boards.greenhouse.io. Respect each employer's terms and your local data-protection laws when redistributing. This Actor is not affiliated with Greenhouse Software, Inc.
How do I find a company's board token?
Open the company's careers page. If the URL is boards.greenhouse.io/<slug>, that slug is the token. If they embed a Greenhouse iframe, view source and look for boards-api.greenhouse.io/v1/boards/<slug>/....
Can I filter the jobs? Yes — by department, office, location, title keyword, and language. Filtering is client-side because the Greenhouse public API does not accept query filters; the Actor fetches the full list and filters before saving.
How fresh is the data? Real-time. The Greenhouse Job Board API serves the current state of each board the moment you call it — there is no scraping lag.
Is there a salary field?
Sometimes. Check metadata/metadataMap (some employers publish salary as a custom field), payInputRanges in jobDetail mode with includePayRanges enabled, and the free-form content HTML.
Can I detect newly posted jobs since my last run?
Yes — diff against id, or use updatedAt and firstPublished to identify brand-new posts.
What output formats are supported? JSON, CSV, Excel (XLSX), HTML, and JSONLines, available through the Apify dataset and API.
⏰ Scheduling & integration
Schedule the Actor on Apify to run daily for an always-fresh tech-jobs dataset. Export to JSON, CSV, or Excel, call it from the Apify API, or wire it into Airtable, Google Sheets, Postgres, S3, or Slack with webhooks and no-code tools like Make, n8n, and Zapier.
Keywords: greenhouse job board api, greenhouse scraper, greenhouse jobs scraper, tech jobs scraper, ats scraper, career page scraper, hiring signals data, recruitment intelligence, greenhouse api, scrape company jobs
Changelog
- 2026-06-01 — Maintenance & reliability pass: pulled the latest source and rebuilt the Actor on the current base image; build verified.
Last reviewed: 2026-06-01.