Greenhouse
App · Jobs & Hiring · 12 actions
Read any company's public Greenhouse job board: list and search its open roles, newest first or since a date, pull a job post's full description, pay ranges and application questions, and browse its departments, offices, and prospect sections, with no API key. Add your organization's Job Board API key to also submit applications to your own job posts.
Actions
| Action | What it does |
|---|---|
| Get Greenhouse department | Fetch one department from a Greenhouse job board by its id, with the jobs posted under it, also as one flat 'jobs' list that includes its sub-departments' posts. |
| Get Greenhouse job | Fetch one job post from a Greenhouse job board by its id, including the full description as HTML and plain text and when it was first published. |
| Get Greenhouse job board | Look up a company's Greenhouse job board: the organization name and the board's introduction content, as both HTML and plain text. |
| Get Greenhouse office | Fetch one office from a Greenhouse job board by its id, with the departments and jobs under it. |
| Get Greenhouse prospect section | Fetch one prospect post section from a Greenhouse job board by its id, with the prospect posts in it. |
| List Greenhouse departments | List the departments on a company's Greenhouse job board, each with the jobs posted under it and a count of the posts at or beneath it. |
| List Greenhouse education options | List the degrees, disciplines, or schools a Greenhouse job board offers on its application forms, each with the id the form expects. |
| List Greenhouse jobs | List the published job posts on a company's Greenhouse job board, with each post's title, location, public URL, and when it was first published and last updated. |
| List Greenhouse offices | List the offices on a company's Greenhouse job board, each with its departments, the jobs posted under them, and a count of the posts at or beneath it. |
| List Greenhouse prospect sections | List a Greenhouse job board's prospect post sections: the "Don't see a job you like?" style groupings that hold general applications. |
| Search Greenhouse jobs | Search a company's Greenhouse job board for a keyword or phrase. |
| Submit Greenhouse application | Submit a candidate's application to a job post on your own organization's Greenhouse job board, as your careers site's form would: name, email, phone, a resume and cover letter (a link Greenhouse downloads, or pasted text), answers to the post's questions, education, and employment. |
Get Greenhouse department
Fetch one department from a Greenhouse job board by its id, with the jobs posted under it, also as one flat 'jobs' list that includes its sub-departments' posts.
Inputs
- Job board token
board_tokentextRequired - The company's Greenhouse job board token, the last path segment of its board URL (e.g. 'anthropic' in https://job-boards.greenhouse.io/anthropic). Pasting the board or job post URL works too.
- Department ID
department_idtextRequired - The department's numeric id, from 'List Greenhouse departments'.
- Render as
render_astext - How to shape the hierarchy: 'list' returns flat entries with parent_id/child_ids, 'tree' nests them under 'children'.One of:
list(Flat list),tree. Default:list.
Outputs
One department and its jobs.
board_tokentextdepartmentobjectdepartment_idtextjob_countnumberjobslist- Every job post at or beneath this node in one flat list, each once, including posts nested under departments or children.
nametextrender_astext
Example output
{
"board_token": "anthropic",
"department": {
"child_ids": [],
"id": 33333,
"job_count": 1,
"jobs": [
{
"absolute_url": "https://job-boards.greenhouse.io/anthropic/jobs/127817",
"application_deadline": null,
"company_name": "Anthropic",
"first_published": "2026-01-02T15:00:00-05:00",
"id": 127817,
"internal_job_id": 144381,
"language": "en",
"location": {
"name": "New York, NY"
},
"location_name": "New York, NY",
"metadata": null,
"requisition_id": "50",
"title": "Research Engineer",
"updated_at": "2026-01-14T10:55:28-05:00"
}
],
"name": "Engineering",
"parent_id": null
},
"department_id": "33333",
"job_count": 1,
"jobs": [
{
"absolute_url": "https://job-boards.greenhouse.io/anthropic/jobs/127817",
"application_deadline": null,
"company_name": "Anthropic",
"first_published": "2026-01-02T15:00:00-05:00",
"id": 127817,
"internal_job_id": 144381,
"language": "en",
"location": {
"name": "New York, NY"
},
"location_name": "New York, NY",
"metadata": null,
"requisition_id": "50",
"title": "Research Engineer",
"updated_at": "2026-01-14T10:55:28-05:00"
}
],
"name": "Engineering",
"render_as": "list"
}Get Greenhouse job
Fetch one job post from a Greenhouse job board by its id, including the full description as HTML and plain text and when it was first published. Optionally include the application form's questions (with the field names 'Submit Greenhouse application' answers them by) and the post's published pay ranges, in currency units as well as Greenhouse's cents.
Inputs
- Job board token
board_tokentextRequired - The company's Greenhouse job board token, the last path segment of its board URL (e.g. 'anthropic' in https://job-boards.greenhouse.io/anthropic). Pasting the board or job post URL works too.
- Job post ID
job_idtextRequired - The job post's numeric id (the 'id' field of a listed job). The job post URL works too.
- Include application questions
questionstrue/false - Include the fields the application form asks for: custom questions, location questions, EEOC compliance questions, and demographic questions when the board has them enabled.Default:
false. - Include pay ranges
pay_transparencytrue/false - Include the pay ranges published on the post, when the organization publishes them. Each comes back in currency units ('min', 'max', and text such as 'USD 222,800 – 290,000') as well as Greenhouse's cents.Default:
false.
Outputs
One job post, with its description and metadata.
absolute_urltextboard_tokentextjobobject- The full post. Also carries 'questions', 'location_questions', 'compliance', 'demographic_questions', 'pay_input_ranges', and 'pay_ranges' when those options are enabled.
job_idtexttitletext
Example output
{
"absolute_url": "https://job-boards.greenhouse.io/anthropic/jobs/127817",
"board_token": "anthropic",
"job": {
"absolute_url": "https://job-boards.greenhouse.io/anthropic/jobs/127817",
"application_deadline": null,
"company_name": "Anthropic",
"content": "<p>Train models that help people.</p>",
"content_html": "<p>Train models that help people.</p>",
"content_text": "Train models that help people.",
"departments": [
{
"id": 13583,
"name": "Engineering"
}
],
"first_published": "2026-01-02T15:00:00-05:00",
"id": 127817,
"internal_job_id": 144381,
"language": "en",
"location": {
"name": "New York, NY"
},
"location_name": "New York, NY",
"metadata": null,
"offices": [
{
"id": 8787,
"location": "New York, NY",
"name": "New York City"
}
],
"pay_ranges": [
{
"blurb_text": "The annual base salary for this role.",
"currency": "USD",
"max": 405000,
"max_cents": 40500000,
"min": 300000,
"min_cents": 30000000,
"text": "USD 300,000 \u2013 405,000",
"title": "Annual Salary"
}
],
"requisition_id": "50",
"title": "Research Engineer",
"updated_at": "2026-01-14T10:55:28-05:00"
},
"job_id": "127817",
"title": "Research Engineer"
}Get Greenhouse job board
Look up a company's Greenhouse job board: the organization name and the board's introduction content, as both HTML and plain text. Useful for confirming a board token is right before pulling jobs from it.
Inputs
- Job board token
board_tokentextRequired - The company's Greenhouse job board token, the last path segment of its board URL (e.g. 'anthropic' in https://job-boards.greenhouse.io/anthropic). Pasting the board or job post URL works too.
Outputs
The board's name and introduction content.
board_tokentextcontenttext- Board content exactly as Greenhouse returns it.
content_htmltext- Board content unescaped into usable HTML.
content_texttext- Board content as plain text.
nametext- Organization name shown on the board.
Example output
{
"board_token": "anthropic",
"content": "<p>We build AI systems people can rely on.</p>",
"content_html": "<p>We build AI systems people can rely on.</p>",
"content_text": "We build AI systems people can rely on.",
"name": "Anthropic"
}Get Greenhouse office
Fetch one office from a Greenhouse job board by its id, with the departments and jobs under it. Every post in the office also comes back in one flat 'jobs' list, ready to loop over.
Inputs
- Job board token
board_tokentextRequired - The company's Greenhouse job board token, the last path segment of its board URL (e.g. 'anthropic' in https://job-boards.greenhouse.io/anthropic). Pasting the board or job post URL works too.
- Office ID
office_idtextRequired - The office's numeric id, from 'List Greenhouse offices'.
- Render as
render_astext - How to shape the hierarchy: 'list' returns flat entries with parent_id/child_ids, 'tree' nests them under 'children'.One of:
list(Flat list),tree. Default:list.
Outputs
One office, its departments, and their jobs.
board_tokentextjob_countnumberjobslist- Every job post at or beneath this node in one flat list, each once, including posts nested under departments or children.
nametextofficeobjectoffice_idtextrender_astext
Example output
{
"board_token": "anthropic",
"job_count": 1,
"jobs": [
{
"absolute_url": "https://job-boards.greenhouse.io/anthropic/jobs/127817",
"application_deadline": null,
"company_name": "Anthropic",
"first_published": "2026-01-02T15:00:00-05:00",
"id": 127817,
"internal_job_id": 144381,
"language": "en",
"location": {
"name": "New York, NY"
},
"location_name": "New York, NY",
"metadata": null,
"requisition_id": "50",
"title": "Research Engineer",
"updated_at": "2026-01-14T10:55:28-05:00"
}
],
"name": "New York City",
"office": {
"child_ids": [],
"departments": [
{
"id": 33333,
"job_count": 1,
"jobs": [
{
"absolute_url": "https://job-boards.greenhouse.io/anthropic/jobs/127817",
"application_deadline": null,
"company_name": "Anthropic",
"first_published": "2026-01-02T15:00:00-05:00",
"id": 127817,
"internal_job_id": 144381,
"language": "en",
"location": {
"name": "New York, NY"
},
"location_name": "New York, NY",
"metadata": null,
"requisition_id": "50",
"title": "Research Engineer",
"updated_at": "2026-01-14T10:55:28-05:00"
}
],
"name": "Engineering"
}
],
"id": 11111,
"job_count": 1,
"location": "New York, NY, United States",
"name": "New York City",
"parent_id": 10201
},
"office_id": "11111",
"render_as": "list"
}Get Greenhouse prospect section
Fetch one prospect post section from a Greenhouse job board by its id, with the prospect posts in it.
Inputs
- Job board token
board_tokentextRequired - The company's Greenhouse job board token, the last path segment of its board URL (e.g. 'anthropic' in https://job-boards.greenhouse.io/anthropic). Pasting the board or job post URL works too.
- Section ID
section_idtextRequired - The section's numeric id, from 'List Greenhouse prospect sections'.
Outputs
One prospect post section and its posts.
board_tokentextjob_countnumberjobslist- Every job post at or beneath this node in one flat list, each once, including posts nested under departments or children.
nametextsectionobjectsection_idtext
Example output
{
"board_token": "anthropic",
"job_count": 1,
"jobs": [
{
"absolute_url": "https://job-boards.greenhouse.io/anthropic/jobs/127817",
"application_deadline": null,
"company_name": "Anthropic",
"first_published": "2026-01-02T15:00:00-05:00",
"id": 888888,
"internal_job_id": null,
"language": "en",
"location": {
"name": "New York, NY"
},
"location_name": "New York, NY",
"metadata": null,
"requisition_id": "50",
"title": "General Application",
"updated_at": "2026-01-14T10:55:28-05:00"
}
],
"name": "Don't see a job you like?",
"section": {
"id": 14128,
"job_count": 1,
"jobs": [
{
"absolute_url": "https://job-boards.greenhouse.io/anthropic/jobs/127817",
"application_deadline": null,
"company_name": "Anthropic",
"first_published": "2026-01-02T15:00:00-05:00",
"id": 888888,
"internal_job_id": null,
"language": "en",
"location": {
"name": "New York, NY"
},
"location_name": "New York, NY",
"metadata": null,
"requisition_id": "50",
"title": "General Application",
"updated_at": "2026-01-14T10:55:28-05:00"
}
],
"name": "Don't see a job you like?"
},
"section_id": "14128"
}List Greenhouse departments
List the departments on a company's Greenhouse job board, each with the jobs posted under it and a count of the posts at or beneath it. Use it to build department-level views of a careers page.
Inputs
- Job board token
board_tokentextRequired - The company's Greenhouse job board token, the last path segment of its board URL (e.g. 'anthropic' in https://job-boards.greenhouse.io/anthropic). Pasting the board or job post URL works too.
- Render as
render_astext - How to shape the hierarchy: 'list' returns flat entries with parent_id/child_ids, 'tree' nests them under 'children'.One of:
list(Flat list),tree. Default:list.
Outputs
The board's departments and their jobs.
board_tokentextcountnumberdepartmentslistrender_astext
Example output
{
"board_token": "anthropic",
"count": 1,
"departments": [
{
"child_ids": [],
"id": 33333,
"job_count": 1,
"jobs": [
{
"absolute_url": "https://job-boards.greenhouse.io/anthropic/jobs/127817",
"application_deadline": null,
"company_name": "Anthropic",
"first_published": "2026-01-02T15:00:00-05:00",
"id": 127817,
"internal_job_id": 144381,
"language": "en",
"location": {
"name": "New York, NY"
},
"location_name": "New York, NY",
"metadata": null,
"requisition_id": "50",
"title": "Research Engineer",
"updated_at": "2026-01-14T10:55:28-05:00"
}
],
"name": "Engineering",
"parent_id": null
}
],
"render_as": "list"
}List Greenhouse education options
List the degrees, disciplines, or schools a Greenhouse job board offers on its application forms, each with the id the form expects. Search them with a term, and page through longer lists 100 at a time.
Inputs
- Job board token
board_tokentextRequired - The company's Greenhouse job board token, the last path segment of its board URL (e.g. 'anthropic' in https://job-boards.greenhouse.io/anthropic). Pasting the board or job post URL works too.
- Category
categorytextRequired - Which education list to read.One of:
degrees,disciplines,schools. Default:degrees. - Search term
termtext - Optional. Only return entries whose name contains this text, e.g. 'Bachelor' or 'Stanford'.
- Page
pagenumber - Optional page number for paging through the list, 100 entries per page. Defaults to the first page.At least 1.
Outputs
Education entries with the ids application forms use.
board_tokentextcategorytextcountnumberitemslistpagetextper_pagenumbertermtexttotal_countnumber- Total entries across all pages.
Example output
{
"board_token": "anthropic",
"category": "degrees",
"count": 2,
"items": [
{
"id": 5494516,
"text": "Bachelor's Degree"
},
{
"id": 5494551,
"text": "Master's Degree"
}
],
"page": "",
"per_page": 100,
"term": "",
"total_count": 10
}List Greenhouse jobs
List the published job posts on a company's Greenhouse job board, with each post's title, location, public URL, and when it was first published and last updated. Sort newest first, and keep only posts published or updated after a date, to catch new roles since the last run, e.g. to post them to Slack. Turn on 'Include full description' to also get each post's description, departments, and offices.
Inputs
- Job board token
board_tokentextRequired - The company's Greenhouse job board token, the last path segment of its board URL (e.g. 'anthropic' in https://job-boards.greenhouse.io/anthropic). Pasting the board or job post URL works too.
- Include full description
contenttrue/false - Include each post's full description, departments, and offices. Off by default, since descriptions are long; leave it off when you only need titles and links.Default:
false. - Limit
limitnumber - Maximum number of jobs to return, from 1 to 500. Defaults to 25. Greenhouse returns a board's whole job list in one response, so this trims it; the result reports the board's 'total' either way.From 1 to 500.
- Sort by
sorttext - The order jobs come back in, applied before the limit. 'newest' puts the most recently published posts first and 'recently_updated' the most recently changed; 'board' keeps Greenhouse's own order (by title).One of:
board(Board order (by title)),newest(Newest first),recently_updated(Recently updated). Default:board. - Published after
published_afterdate and time - Optional. Only posts first published after this date and time, e.g. the last time the workflow ran, to get only new roles.
- Updated after
updated_afterdate and time - Optional. Only posts changed after this date and time, including new ones.
Outputs
Published job posts. 'total' is how many the board has, 'matched' how many passed the date filters, and 'count' how many were returned after the limit.
board_tokentextcountnumberjobslistmatchednumber- Job posts that passed the date filters.
sorttexttotalnumber- Total job posts on the board.
truncatedtrue/false- True when the limit cut the list short.
Example output
{
"board_token": "anthropic",
"count": 1,
"jobs": [
{
"absolute_url": "https://job-boards.greenhouse.io/anthropic/jobs/127817",
"application_deadline": null,
"company_name": "Anthropic",
"first_published": "2026-01-02T15:00:00-05:00",
"id": 127817,
"internal_job_id": 144381,
"language": "en",
"location": {
"name": "New York, NY"
},
"location_name": "New York, NY",
"metadata": null,
"requisition_id": "50",
"title": "Research Engineer",
"updated_at": "2026-01-14T10:55:28-05:00"
}
],
"matched": 1,
"sort": "board",
"total": 1,
"truncated": false
}List Greenhouse offices
List the offices on a company's Greenhouse job board, each with its departments, the jobs posted under them, and a count of the posts at or beneath it. Use it to group a careers page by location.
Inputs
- Job board token
board_tokentextRequired - The company's Greenhouse job board token, the last path segment of its board URL (e.g. 'anthropic' in https://job-boards.greenhouse.io/anthropic). Pasting the board or job post URL works too.
- Render as
render_astext - How to shape the hierarchy: 'list' returns flat entries with parent_id/child_ids, 'tree' nests them under 'children'.One of:
list(Flat list),tree. Default:list.
Outputs
The board's offices, their departments, and jobs.
board_tokentextcountnumberofficeslistrender_astext
Example output
{
"board_token": "anthropic",
"count": 1,
"offices": [
{
"child_ids": [],
"departments": [
{
"id": 33333,
"job_count": 1,
"jobs": [
{
"absolute_url": "https://job-boards.greenhouse.io/anthropic/jobs/127817",
"application_deadline": null,
"company_name": "Anthropic",
"first_published": "2026-01-02T15:00:00-05:00",
"id": 127817,
"internal_job_id": 144381,
"language": "en",
"location": {
"name": "New York, NY"
},
"location_name": "New York, NY",
"metadata": null,
"requisition_id": "50",
"title": "Research Engineer",
"updated_at": "2026-01-14T10:55:28-05:00"
}
],
"name": "Engineering"
}
],
"id": 11111,
"job_count": 1,
"location": "New York, NY, United States",
"name": "New York City",
"parent_id": 10201
}
],
"render_as": "list"
}List Greenhouse prospect sections
List a Greenhouse job board's prospect post sections: the "Don't see a job you like?" style groupings that hold general applications. Boards without prospect posts return an empty list.
Inputs
- Job board token
board_tokentextRequired - The company's Greenhouse job board token, the last path segment of its board URL (e.g. 'anthropic' in https://job-boards.greenhouse.io/anthropic). Pasting the board or job post URL works too.
Outputs
The board's prospect post sections and their posts.
board_tokentextcountnumbersectionslist
Example output
{
"board_token": "anthropic",
"count": 1,
"sections": [
{
"id": 14128,
"job_count": 1,
"jobs": [
{
"absolute_url": "https://job-boards.greenhouse.io/anthropic/jobs/127817",
"application_deadline": null,
"company_name": "Anthropic",
"first_published": "2026-01-02T15:00:00-05:00",
"id": 888888,
"internal_job_id": null,
"language": "en",
"location": {
"name": "New York, NY"
},
"location_name": "New York, NY",
"metadata": null,
"requisition_id": "50",
"title": "General Application",
"updated_at": "2026-01-14T10:55:28-05:00"
}
],
"name": "Don't see a job you like?"
}
]
}Search Greenhouse jobs
Search a company's Greenhouse job board for a keyword or phrase. Matches the job title, location, department and office names, and the full description (case-insensitive), with an optional location filter. Returns the matching posts without their descriptions; fetch one with 'Get Greenhouse job' once you know which post you want.
Inputs
- Job board token
board_tokentextRequired - The company's Greenhouse job board token, the last path segment of its board URL (e.g. 'anthropic' in https://job-boards.greenhouse.io/anthropic). Pasting the board or job post URL works too.
- Search query
querytextRequired - The keyword or phrase to look for across the board's job posts.
- Location filter
locationtext - Optional. Keep only posts whose location or office matches this text, e.g. 'New York' or 'Remote'.
- Limit
limitnumber - Maximum number of jobs to return, from 1 to 500. Defaults to 25. Greenhouse returns a board's whole job list in one response, so this trims it; the result reports the board's 'total' either way.From 1 to 500.
Outputs
Job posts matching the query. Descriptions are omitted from hits; 'searched' is how many posts were scanned.
board_tokentextcountnumberjobslistlocationtextquerytextsearchednumber- Job posts scanned on the board.
Example output
{
"board_token": "anthropic",
"count": 1,
"jobs": [
{
"absolute_url": "https://job-boards.greenhouse.io/anthropic/jobs/127817",
"application_deadline": null,
"company_name": "Anthropic",
"first_published": "2026-01-02T15:00:00-05:00",
"id": 127817,
"internal_job_id": 144381,
"language": "en",
"location": {
"name": "New York, NY"
},
"location_name": "New York, NY",
"metadata": null,
"requisition_id": "50",
"title": "Research Engineer",
"updated_at": "2026-01-14T10:55:28-05:00"
}
],
"location": "",
"query": "designer",
"searched": 12
}Submit Greenhouse application
Submit a candidate's application to a job post on your own organization's Greenhouse job board, as your careers site's form would: name, email, phone, a resume and cover letter (a link Greenhouse downloads, or pasted text), answers to the post's questions, education, and employment. Needs your Job Board API key on the Greenhouse connection. The post's form is checked first, and an application missing a required answer isn't sent, since Greenhouse would accept it without one. Get the field names to answer with 'Get Greenhouse job' and 'Include application questions'.
Inputs
- Job board token
board_tokentextRequired - The company's Greenhouse job board token, the last path segment of its board URL (e.g. 'anthropic' in https://job-boards.greenhouse.io/anthropic). Pasting the board or job post URL works too.
- Job post ID
job_idtextRequired - The job post to apply to: its numeric id (the 'id' field of a listed job) or its URL.
- First name
first_nametextRequired - The applicant's first name.
- Last name
last_nametextRequired - The applicant's last name.
- Email
emailtextRequired - The applicant's email address.
- Phone
phonetext - Optional. The applicant's phone number.
- Resume link
resume_urltext - Optional. A link Greenhouse can download the resume from (pdf, doc, docx, txt or rtf).
- Resume file name
resume_filenametext - Optional. The resume's file name with its extension, e.g. 'jane-doe.pdf'. Needed only when the link doesn't end in one.
- Resume text
resume_texttext - Optional. The resume pasted as plain text.
- Cover letter link
cover_letter_urltext - Optional. A link Greenhouse can download the cover letter from (pdf, doc, docx, txt or rtf).
- Cover letter file name
cover_letter_filenametext - Optional. The cover letter's file name with its extension. Needed only when the link doesn't end in one.
- Cover letter text
cover_letter_texttext - Optional. The cover letter pasted as plain text.
- Question answers
answersobject - Optional. Answers to the post's questions, keyed by each field's 'name' from 'Get Greenhouse job' with 'Include application questions' on. Text questions take text, a single select its option's 'value', a multi select a list of values, and a yes/no question true or false. EEOC fields such as 'gender' and 'veteran_status', 'demographic_answers', and location fields go here too.
- Education
educationslist - Optional. A list of schools, each with school_name_id, degree_id, and discipline_id (from 'List Greenhouse education options') and start_date and end_date as 'YYYY-MM' or {month, year}.
- Employment
employmentslist - Optional. A list of jobs, each with company_name, title, start_date ('YYYY-MM' or {month, year}), current (true or false), and end_date when not current.
- GDPR consent
data_complianceobject - Optional. The applicant's consent, when the form asks for it (see 'data_compliance' on the job): {'gdpr_consent_given': true}, or separate 'gdpr_processing_consent_given' and 'gdpr_retention_consent_given' values where the organization asks for each.
- Source token
mapped_url_tokentext - Optional. The 'gh_src' value from the link the applicant arrived by, which Greenhouse records as the application's source.
Outputs
The submitted application and Greenhouse's reply.
board_tokentextemailtextfirst_nametextjob_idtextlast_nametextmessagetext- Greenhouse's confirmation, when it sends one.
responseobject- Greenhouse's reply exactly as sent.
submittedtrue/falsetitletext- The job post's title.
Example output
{
"board_token": "anthropic",
"email": "jane@example.com",
"first_name": "Jane",
"job_id": "127817",
"last_name": "Doe",
"message": "Candidate saved successfully",
"response": {
"success": "Candidate saved successfully"
},
"submitted": true,
"title": "Research Engineer"
}