Greenhouse Jobs API: every open job from any Greenhouse job board
Greenhouse powers the careers pages of thousands of companies, and exposes a free, public, keyless JSON endpoint behind them. Here’s how to use it, with the pitfalls we hit running it against real companies.
curl "https://boards-api.greenhouse.io/v1/boards/airbnb/jobs?content=true"
import html, httpx
jobs = httpx.get("https://boards-api.greenhouse.io/v1/boards/airbnb/jobs", params={"content": "true"}).json()["jobs"]
for j in jobs:
print(j["title"], "|", j["location"]["name"], "|", j["absolute_url"])
description_html = html.unescape(j["content"]) # content is entity-escaped HTML
Gotchas
content=trueincludes full descriptions but makes large boards several MB (Airbnb is ~2.7 MB). Omit it to list titles cheaply, then fetch one job with…/jobs/{id}.contentis double-encoded (<p>):html.unescapeit before parsing.absolute_urloften points at the company’s own careers site, which may block bots; the Greenhouse job URL redirects there too.
Other job-board APIs
Lever · Ashby · Workday · SmartRecruiters · Recruitee · Workable · All platforms
Don’t want to build and maintain this?
Every gotcha above is handled in ready-made tools (disclosure: built by the author of this guide):
- ATS Jobs Scraper: all 7 platforms, auto-detect, one normalized format. $1 per 1,000 jobs.
- Tech & Startup Job Search: keyword search across 4,400+ company career pages, no company list needed.
- Hiring Companies Finder: which companies are hiring for a role, ranked by matching openings.
- Salary Data from Job Postings: published pay ranges only.
- Jobs API on RapidAPI:
GET /companyandGET /detectover HTTP.
Apify has a free plan with monthly credit. (Some links may be affiliate links; using them supports this guide at no cost to you.)