Greenhouse Jobs Scraper avatar

Greenhouse Jobs Scraper

Pricing

from $0.70 / 1,000 jobs

Go to Apify Store
Greenhouse Jobs Scraper

Greenhouse Jobs Scraper

Scrape all open jobs of any company on Greenhouse: title, department, locations, salary range, description and apply link. Keyword, location, remote and date filters, and an only-new mode for monitoring.

Pricing

from $0.70 / 1,000 jobs

Rating

0.0

(0)

Developer

Robert Khairislamov

Robert Khairislamov

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Scrape all jobs of any company on Greenhouse. Get title, department, location, salary range, description, apply link and posting date. Export to JSON, CSV or Excel, or use the API. $1 per 1,000 jobs, no start fee.

Scrape every open job from any company that hires with Greenhouse: title, department, office locations, salary range, full description, posting date and apply link. Add several companies at once, filter by keyword, location, remote or date, and run it on a schedule to get only new jobs. Fast and reliable: it reads the official public Greenhouse job board API, with no browser and no login.

What can this Greenhouse scraper do?

  • 🏢 Scrape many companies in one run: Airbnb, Stripe, Figma, Discord, Datadog and thousands of other Greenhouse boards.
  • 💰 Salary ranges: the structured pay ranges companies publish on Greenhouse (pay transparency), plus ranges found in the description text, as min, max, currency and interval.
  • 🔎 Filters: title keywords, excluded words, locations, remote only, departments, posted in the last N days, only jobs with a salary.
  • 🆕 Only new jobs since the last run: perfect for job alerts, recruiting pipelines and hiring signals.
  • 🧾 Clean text and HTML descriptions: the escaped Greenhouse HTML is decoded for you.
  • 🔗 Accepts any link format: airbnb, boards.greenhouse.io/airbnb, job-boards.greenhouse.io/figma, embedded boards (?for=discord) or job links.
  • 🧩 Same output as our other job scrapers, listed at the end of this page, so jobs from company career sites and job boards fit into one table.

What data does it extract?

FieldExample
titleAccount Manager
companyName / companyAirbnb / airbnb
departmentBusiness Development
location / locationsLondon, United Kingdom
remote / workplaceTypefalse / hybrid
salary{ "min": 46000, "max": 54000, "currency": "GBP", "interval": "year" }
postedAt / updatedAt2026-09-09T08:35:19.000Z
jobUrl / applyUrlhttps://careers.airbnb.com/positions/8184174?gh_jid=8184174
descriptionText / descriptionHtmlfull job description
jobId / requisitionId8184174

How to scrape Greenhouse jobs

  1. Add the companies: the board name (airbnb) or any Greenhouse link. The board name is the part after greenhouse.io/ in the company's job links.
  2. Optionally set filters: keywords such as engineer or product manager, locations such as London or Remote, a date range.
  3. Click Start. Download the jobs as JSON, CSV, Excel or HTML, or get them through the API.

A step-by-step guide with Python examples for this and the other job scrapers, which all share one output format: How to Scrape Job Postings from LinkedIn and 12 More Job Sites in One Format.

Example input

{
"companies": ["airbnb", "https://job-boards.greenhouse.io/figma", "stripe"],
"keywords": ["engineer", "data scientist"],
"locations": ["United States", "Remote"],
"postedWithinDays": 7
}

Example output

{
"ats": "greenhouse",
"company": "airbnb",
"companyName": "Airbnb",
"jobId": "8184174",
"requisitionId": "MULTI",
"title": "Account Manager",
"department": "Business Development",
"team": null,
"location": "London, United Kingdom",
"locations": ["London, United Kingdom"],
"remote": false,
"workplaceType": "hybrid",
"employmentType": null,
"salary": { "min": 46000, "max": 54000, "currency": "GBP", "interval": "year", "text": "GBP 46,000–54,000 per year", "source": "ats" },
"postedAt": "2026-09-09T08:35:19.000Z",
"updatedAt": "2026-09-18T08:55:55.000Z",
"jobUrl": "https://careers.airbnb.com/positions/8184174?gh_jid=8184174",
"applyUrl": "https://careers.airbnb.com/positions/8184174?gh_jid=8184174",
"descriptionText": "Airbnb was born in 2007 when two hosts welcomed three guests…",
"descriptionHtml": "<div class=\"content-intro\">…",
"scrapedAt": "2026-09-24T15:20:21.292Z"
}

Use cases

  • Job boards and aggregators: keep a niche job board filled with fresh roles from hand-picked companies.
  • Recruiting and sourcing: watch target companies and react the day a role opens.
  • Sales and lead generation: hiring is a buying signal. Find companies hiring for roles your product serves.
  • Salary research: collect pay ranges by role, location and company.
  • Market and competitor research: track which teams your competitors are growing.
  • AI agents and job alerts: feed structured jobs into an LLM, a Slack alert or a spreadsheet.

How much does it cost?

You pay only for the jobs you get: $1 per 1,000 jobs. That is the price on the Apify Free plan. Paid Apify plans pay less: $0.90 per 1,000 jobs on Starter, $0.80 on Scale and $0.70 on Business, which is the "from" price shown in Apify Store. No start fee and no monthly rent. Jobs that don't match your filters are free. The Apify free plan covers thousands of jobs every month.

Tips

  • Job alerts: save the input as a task, turn on Only new jobs since the last run and add a schedule, for example every morning. Each run returns only the jobs posted since the previous one.
  • Salary data only: turn on Only jobs with a salary.
  • Smaller results: turn off Include job descriptions.
  • Many companies: add as many boards as you like; they are scraped in parallel. A run summary with jobs found and errors per company is saved in the key-value store as SUMMARY.

FAQ

Why not just ask an AI chatbot? A chatbot with web search reads a few pages and retells them, so it finds a handful of jobs. In our test in October 2026, a chatbot asked for every nurse and dental assistant job in Adelaide listed about 10; our All-in-One Jobs Scraper, which shares this Actor's code, returned 1,480 from SEEK, Indeed, Glassdoor and LinkedIn in three minutes, each with its link and date. This Actor gives you every job the site shows for your search, word for word and in the same fields every time, so you can load them into a spreadsheet, database or CRM, get only new jobs on a schedule, and pay a fixed price per 1,000 jobs instead of paying an AI to read every page. AI agents use it the same way: through Apify's MCP server, an agent can call this Actor whenever it needs real job data.

How do I find a company's Greenhouse board name? Open any job of the company. If the link contains greenhouse.io/<name> or gh_jid=, the company uses Greenhouse, and <name> is the board name. For a company's own careers site with gh_jid links, the board name is often the company name, for example stripe.

Is it legal to scrape Greenhouse? The Actor reads the public job board API that Greenhouse offers for publishing jobs. Job postings are public business information, not personal data. Check the terms that apply to your use case.

Why is salary empty for some jobs? Not every company publishes pay. When a range is published on Greenhouse or written in the description, it is extracted; salary.source tells you which.

Integrations and API

  • Google Sheets, Slack, email and CRMs: connect the Actor to Make, Zapier or n8n, or use the Integrations tab of this Actor. With Only new jobs since the last run and a schedule, each run sends only the new jobs.
  • Webhooks: call your own URL when a run finishes, for example to load the new jobs into your database.
  • AI agents (MCP): add https://mcp.apify.com?tools=robertosan16/greenhouse-jobs-scraper as an MCP server in Claude, Cursor or VS Code, and your agent can search jobs with this Actor. Tell it how many jobs you need, so it sets Maximum jobs in total.
  • LangChain and LlamaIndex: load the jobs into your LLM app with the Apify loaders.
  • API: one request runs the Actor and returns the jobs, for runs of up to 5 minutes. Start longer runs with the runs endpoint and read the dataset when they finish.
curl -X POST "https://api.apify.com/v2/acts/robertosan16~greenhouse-jobs-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"companies":["airbnb"],"maxItems":20}'

More job scrapers with the same output

Missing a field or a feature? Open an issue in the Issues tab or email support@mozartstandard.com, and we will reply quickly.