Discover/Greenhouse API
live

Greenhouse APIjob-boards.greenhouse.io

Access job listings, departments, offices, and application form questions from any Greenhouse.io public job board via 6 structured endpoints.

Endpoint health
verified 7d ago
list_jobs
get_job
list_offices
search_jobs
get_board_info
6/6 passing latest checkself-healing
Endpoints
6
Updated
21d ago

What is the Greenhouse API?

This API exposes 6 endpoints for reading structured data from any public Greenhouse.io job board. list_jobs returns every open position for a given board token, including job ID, title, URL, location, department, and office assignments. get_job goes deeper, returning the full HTML job description and the complete application form question set. search_jobs adds keyword, department, office, and recency filters across any board.

Try it
The company's Greenhouse board token (e.g. 'anthropic', 'spacex', 'stripe').
api.parse.bot/scraper/83293b68-327f-4cd1-bf90-079591d9fd35/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/83293b68-327f-4cd1-bf90-079591d9fd35/get_board_info?board_token=anthropic' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace job-boards-greenhouse-io-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.greenhouse_job_board_api import Greenhouse, Board, Job, Department, Office, Location

greenhouse = Greenhouse()

# Construct a board and list its jobs
board = greenhouse.board("anthropic")

# List all jobs from the board
for job in board.jobs(content=False, limit=5):
    print(job.title, job.absolute_url, job.id)

# Search for jobs matching a keyword in a specific department
for job in board.search(query="engineer", department="Sales", limit=3):
    print(job.title, job.location.name)

# List departments on the board
for dept in board.departments(limit=5):
    print(dept.name, dept.id, dept.parent_id)

# List offices on the board
for office in board.offices(limit=3):
    print(office.name, office.location, office.id)

# Get full details for a specific job
for job in board.jobs(limit=1):
    detailed = job.refresh(board_token="anthropic", questions=True)
    print(detailed.title, detailed.content, detailed.absolute_url)
All endpoints · 6 totalmissing one? ·

Retrieve basic info about a company's Greenhouse job board, including the company name and any board-level content. One round-trip per board.

Input
ParamTypeDescription
board_tokenrequiredstringThe company's Greenhouse board token (e.g. 'anthropic', 'spacex', 'stripe').
Response
{
  "type": "object",
  "fields": {
    "name": "string, the company/board display name",
    "content": "string, board content or notes (may be empty)"
  },
  "sample": {
    "data": {
      "name": "Anthropic",
      "content": ""
    },
    "status": "success"
  }
}

About the Greenhouse API

Board and Job Data

Every endpoint is scoped to a specific company board via the board_token parameter — for example, anthropic, stripe, or spacex. get_board_info returns the company display name and any board-level content. list_jobs returns an array of job objects, each carrying id, title, absolute_url, location, departments, and offices. Pass content=true to include the full HTML job description and metadata in each job object.

Job Detail and Application Forms

get_job retrieves a single posting by job_id and returns all fields from the list view plus the full content HTML and, when questions=true, an array of application form question objects. Each question object includes label, required, and a fields array describing input type — useful for building application pre-fill tools or ATS integrations that need to mirror a company's exact form structure.

Department and Office Browsing

list_departments returns every department on the board with id, name, parent_id, child_ids, and a nested jobs array. list_offices follows the same pattern, nesting departments (and their jobs) inside each office object — so you can traverse the full org hierarchy of open roles in one call. Both endpoints are useful for building filtered job discovery interfaces or monitoring headcount changes by team or location.

Search and Filtering

search_jobs accepts a free-text query matched against job titles and descriptions, plus department and office filters (exact match, case-insensitive). The is_new boolean limits results to jobs published within the last 7 days, making it straightforward to build a job-alert feed without storing state beyond the last poll time.

Reliability & maintenanceVerified

The Greenhouse API is a managed, monitored endpoint for job-boards.greenhouse.io — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when job-boards.greenhouse.io changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official job-boards.greenhouse.io API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
7d ago
Latest check
6/6 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Monitor new engineering roles at a target company using search_jobs with is_new=true and a department filter.
  • Pre-fill a job application UI by fetching the exact question structure from get_job with questions=true.
  • Build a cross-company job aggregator by iterating list_jobs across multiple board tokens.
  • Track headcount growth by department over time using repeated calls to list_departments.
  • Map office expansion by polling list_offices and diffing the returned location and job counts.
  • Power a recruiter research tool that surfaces all open roles at a company with direct application URLs from the absolute_url field.
  • Alert on keyword-matching roles (e.g. 'machine learning', 'staff engineer') across multiple boards using the query parameter in search_jobs.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Greenhouse have an official developer API?+
Yes. Greenhouse publishes an official Job Board API documented at https://developers.greenhouse.io/job-board.html. It covers public board data for companies that use Greenhouse as their ATS. This Parse API surfaces the same public board data in a normalized, immediately callable form.
What does `search_jobs` return and how does the `is_new` filter work?+
search_jobs returns a filtered subset of all jobs on the board, along with a total count. The is_new filter compares each job's publish date against a 7-day window and returns only postings added within that period. Combined with the query, department, and office parameters, you can narrow results to, for example, new roles in a specific office without client-side post-processing.
Does the API return private or internal job postings?+
No. All endpoints are scoped to a company's public Greenhouse job board. Postings that are not publicly listed — such as internal-only or unlisted roles — are not accessible. The API covers only what Greenhouse exposes on the public board for a given board_token.
Can the API submit job applications on behalf of a user?+
Not currently. The API covers reading job listings, department and office structure, and application form questions. It does not include an endpoint for submitting applications. You can fork this API on Parse and revise it to add an application-submission endpoint if that capability is needed.
Does the API support paginating through large job lists?+
list_jobs and search_jobs return all matching jobs in a single response along with a total count — there is no page or offset parameter. For boards with a very large number of postings, the full result set is returned at once. If you need incremental delivery, you can fork this API on Parse and revise it to add pagination logic.
Page content last updated . Spec covers 6 endpoints from job-boards.greenhouse.io.
Related APIs in JobsSee all →
jobs.ashbyhq.com API
Access company information, job listings, and detailed job postings from Ashby-hosted job boards, with the ability to search opportunities by keyword or department. Retrieve application forms and all relevant hiring details to streamline your job search process.
ashbyhq.com API
Search and filter job postings from Ashby-powered job boards by title, department, and experience level, then retrieve detailed information about specific positions.
jobs.lever.co API
Access job postings on any Lever-hosted company job board. List, filter, search, and group open roles, retrieve full posting details, and extract application form questions via Lever's public API.
welcometothejungle.com API
Search and discover job postings and company information from Welcome to the Jungle, including detailed job listings, company profiles with employee statistics and social links, and the ability to browse all available positions. Find the perfect role by searching jobs and companies, then access comprehensive details about positions and organizations in one place.
climatebase.org API
Search for climate-focused job listings across roles, industries, and locations on Climatebase. Filter by remote availability, employment type, experience level, organization size, and posting date. Retrieve full job details, similar listings, and employer profiles to explore opportunities in the climate tech sector.
indeed.com API
Search and discover job opportunities on Indeed while accessing detailed job descriptions, company profiles, and salary insights all in one place. Get comprehensive career information including specific compensation data to help you find and evaluate the right job opportunity for you.
builtin.com API
Search and browse tech job listings on Built In to find opportunities that match your skills, then view detailed information about positions including company profiles, salary ranges, benefits, and direct application links. Get job title suggestions to refine your search and discover relevant roles across the tech industry.
shine.com API
Search and discover job listings on Shine.com with detailed information including job descriptions, categories, locations, and top hiring companies. Find similar job opportunities and explore roles across different industries and geographical areas to match your career goals.