Greenhouse Jobs Search API
Search a company's Greenhouse board by keyword, department, office, location, remote and publish date. Each job has its title, location, departments, offices, dates and link.
- 1 credit per call
- Failed calls are free
- Updated
- greenhouse.jobs.search
{ "has_more": true, "page": 1, "per_page": 25, "total_matches": 151, "jobs": [ { "title": "Account Manager", "company_name": "Airbnb", "location": "London, United Kingdom", "published_at": "2026-09-09T04:35:19-04:00", "absolute_url": "https://careers.airbnb.com/positions/8184174?gh_jid=8184174", "id": "8184174", "language": "en", "remote": false, "updated_at": "2026-09-29T20:00:54-04:00" }, { "title": "Associate Legal Counsel, Japan", "company_name": "Airbnb", "location": "Tokyo, Japan", "published_at": "2026-04-13T04:49:05-04:00", "absolute_url": "https://careers.airbnb.com/positions/7789554?gh_jid=7789554", "id": "7789554", "language": "en", "remote": false, "updated_at": "2026-09-29T20:00:54-04:00" } ]}
| # | Title | Location | Company | Published | Updated | Remote | Job ID | Language | Absolute url |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Account Manager | London, United Kingdom | Airbnb | 2026-09-09T04:35:19-04:00 | 2026-09-29T20:00:54-04:00 | false | 8184174 | en | https://careers.airbnb.com/positions/8184174?gh_jid=8184174 |
| 2 | Associate Legal Counsel, Japan | Tokyo, Japan | Airbnb | 2026-04-13T04:49:05-04:00 | 2026-09-29T20:00:54-04:00 | false | 7789554 | en | https://careers.airbnb.com/positions/7789554?gh_jid=7789554 |
| 3 | Associate Principal, Procurement Innovation Supplier Programs | United States | Airbnb | 2026-09-24T18:17:39-04:00 | 2026-09-29T20:00:54-04:00 | true | 8231416 | en | https://careers.airbnb.com/positions/8231416?gh_jid=8231416 |
| 4 | Business Development Manager | Berlin, Germany | Airbnb | 2026-06-10T08:50:56-04:00 | 2026-09-29T20:00:54-04:00 | false | 7995153 | en | https://careers.airbnb.com/positions/7995153?gh_jid=7995153 |
| 5 | Business Systems Engineer, Tech Foundations | San Francisco, CA | Airbnb | 2026-09-18T16:54:20-04:00 | 2026-09-29T20:00:54-04:00 | true | 8214444 | en | https://careers.airbnb.com/positions/8214444?gh_jid=8214444 |
| 6 | Community Engagement Lead, Spain and Portugal | Barcelona, Spain | Airbnb | 2026-06-04T12:14:37-04:00 | 2026-09-29T20:00:54-04:00 | false | 7982715 | en | https://careers.airbnb.com/positions/7982715?gh_jid=7982715 |
| 7 | Community Support Forecasting and Demand Planning Analyst | United States | Airbnb | 2026-04-24T17:11:08-04:00 | 2026-09-29T20:00:54-04:00 | true | 7839229 | en | https://careers.airbnb.com/positions/7839229?gh_jid=7839229 |
| 8 | Complex Claims Manager | United States | Airbnb | 2026-08-24T10:18:09-04:00 | 2026-09-29T20:00:54-04:00 | true | 8153094 | en | https://careers.airbnb.com/positions/8153094?gh_jid=8153094 |
| 9 | Complex Claims Manager | Canada | Airbnb | 2026-08-24T10:18:12-04:00 | 2026-09-29T20:00:54-04:00 | true | 8152131 | en | https://careers.airbnb.com/positions/8152131?gh_jid=8152131 |
| 10 | Customer Service Partner Operations Manager, Mandarin Speaking … | Manila, Philippines | Airbnb | 2026-09-02T05:33:30-04:00 | 2026-09-29T20:00:54-04:00 | true | 8172735 | en | https://careers.airbnb.com/positions/8172735?gh_jid=8172735 |
What you send
The input
object of the request, with every field the endpoint accepts.
| Field | Type | Required | What it does | Example |
|---|---|---|---|---|
| board | string | yes | The company's Greenhouse board name, such as airbnb, or a boards.greenhouse.io or job-boards.greenhouse.io link. | airbnb |
| departments | array<string> | no | Only jobs in these departments, by exact name. | |
| include_content | boolean | no | Also return each job's full description. | |
| include_questions | boolean | no | Also return each job's application questions. | |
| location | string | no | Only jobs whose location contains this text, such as London. | |
| offices | array<string> | no | Only jobs in these offices, by exact name. | |
| page | integer | no | Which page of matching jobs. | |
| per_page | integer | no | How many jobs per page. The default is 25. | |
| published_after | string | no | Only jobs published on or after this date (YYYY-MM-DD). | |
| published_before | string | no | Only jobs published on or before this date (YYYY-MM-DD). | |
| query | string | no | Words to match in the title, company, location, departments and offices. | |
| remote_only | boolean | no | Only remote jobs. |
Fields it returns
What each record in the response holds, with the values from the sample above.
| Field | Type | What it is | Example |
|---|---|---|---|
| jobs[].title | string | The job title. | Account Manager |
| jobs[].location | string | Where the job is. | London, United Kingdom |
| jobs[].company_name | string | The employer. | Airbnb |
| jobs[].published_at | string | When the job was first published. | 2026-09-09T04:35:19-04:00 |
| jobs[].updated_at | string | When the job was last updated. | 2026-09-29T20:00:54-04:00 |
| jobs[].remote | boolean | Whether the job is marked remote. | false |
| jobs[].id | string | Greenhouse's ID for the job; pass it to the job details endpoint. | 8184174 |
| jobs[].absolute_url | string | The job's page on the company's careers site. | https://careers.airbnb.com/positions/8184174?gh_jid=8184174 |
| jobs[].language | string | The language of the posting. | en |
| has_more | boolean | Whether another page follows; ask for the next page number. | true |
| jobs | array | The jobs found. | 25 records |
| page | integer | This page's number. | 1 |
| per_page | integer | Jobs per page. | 25 |
| total_matches | integer | How many jobs match in total. | 151 |
Call it from your code, or ask your agent
Set UPSCRAPE_API_KEY to your key and copy a working request.
curl --request POST \ --url https://data.upscrape.com/execute \ --header "Authorization: Bearer $UPSCRAPE_API_KEY" \ --header "Content-Type: application/json" \ --header "Prefer: wait=30" \ --data '{ "capability": "greenhouse.jobs.search", "input": { "board": "airbnb" }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "greenhouse.jobs.search", "input": { "board": "airbnb" }}''')response = requests.post( "https://data.upscrape.com/execute", headers={ "Authorization": f"Bearer {os.environ['UPSCRAPE_API_KEY']}", "Content-Type": "application/json", "Prefer": "wait=30", }, json=payload,)response.raise_for_status()print(json.dumps(response.json(), indent=2))
const response = await fetch("https://data.upscrape.com/execute", { method: "POST", headers: { "Authorization": `Bearer ${process.env.UPSCRAPE_API_KEY}`, "Content-Type": "application/json", "Prefer": "wait=30", }, body: JSON.stringify({ "capability": "greenhouse.jobs.search", "input": { "board": "airbnb" }}),});if (!response.ok) { throw new Error(`Upscrape request failed: ${response.status}`);}console.log(JSON.stringify(await response.json(), null, 2));
https://data.upscrape.com/mcp
Use Upscrape to list the open jobs on Airbnb's Greenhouse board with title, location and publish date, newest first.
More from the Greenhouse Jobs API
The same data from other platforms
Greenhouse Jobs Search API FAQ
The short answers. The docs have the long ones.
How much does the Greenhouse Jobs Search API cost?
1 credit per successful call, shown before it runs. You buy credits once, and paid credits never expire.
What do I send?
Send board. The input fields below list every option with its type and limits.
Do I need a Greenhouse Jobs login?
No. It reads public Greenhouse Jobs data; nothing runs on your account.
Can my AI agent call it?
Yes, over MCP: the agent finds greenhouse.jobs.search, checks its price and runs it with the same credits as the REST API.
Your first Greenhouse Jobs call is free.
Up to 100 free credits to start, no card needed.