Greenhouse API: pull job postings from any Greenhouse board
Greenhouse's Job Board API is free and public - but you need to know each company's board token. Here's the easier way: one endpoint, every Greenhouse tenant, the same JSON schema as every other source.
Dvir Atias
Founder, JobsPipe
Greenhouse’s Job Board API is free and public. Hit https://boards-api.greenhouse.io/v1/boards/{board_token}/jobs and you get back a clean JSON list of every public job at that company. No auth required.
The problem isn’t the API - it’s the board_token. Each company has a different one. Stripe is stripe. Anthropic is anthropic. Notion is notion. But there’s no public directory of every Greenhouse-hosted board, and the list changes every week as companies onboard or churn.
The Greenhouse coverage problem
To pull jobs from any Greenhouse customer, you need to either:
- Maintain your own list of company → board_token mappings (we have ~12,000 today; it changes daily).
- Discover boards as you find companies of interest (slow, manual).
- Use a maintained index. That’s what JobsPipe does.
How to query Greenhouse through JobsPipe
# All jobs from a specific Greenhouse-hosted company
curl https://api.jobspipe.dev/v1/jobs/search \
-H "Authorization: Bearer jp_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{ "source_or": ["greenhouse"], "company_name_partial_match_or": ["anthropic"] }'
# All Engineering jobs across every Greenhouse board
curl https://api.jobspipe.dev/v1/jobs/search \
-H "Authorization: Bearer jp_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{ "source_or": ["greenhouse"], "job_title_or": ["engineer"] }'What the official Greenhouse API doesn’t give you
- Parsed salary - Greenhouse returns the full description as HTML; you parse comp yourself. JobsPipe ships a structured
compensationobject on every job. - Normalized location - Greenhouse free-texts the location field. “Remote - US”, “NYC or Remote”, “London / Berlin (Hybrid)”. JobsPipe resolves these to city, country, lat/lng, and a remote flag.
- Cross-source dedup - the same job posted to Greenhouse and mirrored to Indeed shows up twice. JobsPipe merges them into one record with both source IDs preserved.
When to use the official Greenhouse API directly
If you only need jobs from a handful of specific companies and you’re happy parsing salary/location yourself, the direct Greenhouse API is great - free, no rate limit you’ll hit, no vendor needed. Use it.
If you need every Greenhouse-hosted company, normalized data, cross-source dedup, or webhook delivery, the math flips toward a managed source quickly.
Get Greenhouse jobs + 30 other sources from one endpoint.
Get a free API keySkip the scraper - try the API right now
Live, normalized postings from 30+ ATS feeds and job boards in one JSON schema. No key, no signup - this sandbox returns sample data in the exact live shape.
Press Test search to see normalized job records rendered here, and the raw JSON on the right.
POST /v1/sandbox/jobs/search{
"job_title_or": [
"software engineer"
],
"limit": 3,
"remote": true
}Advanced: edit the raw request, or copy it as curl
curl -X POST https://api.jobspipe.dev/v1/sandbox/jobs/search \
-H "Content-Type: application/json" \
-d '{"job_title_or":["software engineer"],"remote":true,"limit":5}'For live results, get a free key (1,000 jobs/month) and swap /v1/sandbox/jobs/search for /v1/jobs/search with an Authorization: Bearer header - request and response shapes are identical.
Frequently Asked Questions
Is the Greenhouse API free?
Yes, Greenhouse's Job Board API is free and public, with no auth required. Call boards-api.greenhouse.io/v1/boards/{board_token}/jobs and you get back a clean JSON list of every public job at that company. The hard part is not the API, it is the board_token: each company has a different one, there is no public directory of every Greenhouse-hosted board, and the list changes every week as companies onboard or churn.
How do I find a company's Greenhouse board token?
There is no public directory of Greenhouse board tokens, so you either maintain your own company-to-token mapping, discover boards one company at a time as you need them, or use a maintained index. Tokens are usually just the company name in lowercase: Stripe is stripe, Anthropic is anthropic, Notion is notion. JobsPipe maintains roughly 12,000 of these mappings today and refreshes them as they change daily.
What does the official Greenhouse API not give you?
It returns raw board data rather than enriched data. There is no parsed salary, since Greenhouse returns the full description as HTML for you to parse. Location is a free-text field with values like Remote - US or London / Berlin (Hybrid). And there is no cross-source dedup, so a job mirrored to Indeed shows up twice. JobsPipe adds a structured compensation object, resolved location, and merged records.
Where is the Greenhouse API documentation?
There are two documented APIs. The Job Board API, documented under developers.greenhouse.io, is public and read-only: it returns a company's public job postings from boards-api.greenhouse.io/v1/boards/{board_token}/jobs with no auth. The Harvest API, documented separately, is the private read-write API for a company's own ATS data and needs an API key issued inside that company's Greenhouse account. Most people asking for the docs want the Job Board API.
Do I need a Greenhouse API key to read job postings?
No. The Greenhouse Job Board API is public and unauthenticated - you only need the company's board token, not a key. API keys apply to the Harvest API, which reads and writes a company's private ATS data (candidates, applications, scorecards) and is scoped to that one account. For reading public jobs across many companies, no key exists to get; the constraint is discovering each board token.
What is the difference between the Greenhouse Job Board API and the Harvest API?
The Job Board API is public, read-only, and unauthenticated, returning one company's public postings by board token. The Harvest API is private, read-write, key-authenticated, and scoped to a single company's full recruiting data. The Job Board API is what a job board or aggregator uses; the Harvest API is what an internal integration at one employer uses. They are not interchangeable.
Is there a Greenhouse recruiting API?
Yes, that is the Harvest API. It covers the recruiting workflow - candidates, applications, jobs, scorecards, offers - as a read-write API for a company's own Greenhouse account, authenticated with a key that account's admins generate. It is not a way to read other companies' jobs; each key only reaches the account that issued it. For public postings across companies, the Job Board API or a unified jobs API is the route.

