Greenhouse Jobs Scraper
Pricing
from $0.70 / 1,000 jobs
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
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,currencyandinterval. - 🔎 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?
| Field | Example |
|---|---|
title | Account Manager |
companyName / company | Airbnb / airbnb |
department | Business Development |
location / locations | London, United Kingdom |
remote / workplaceType | false / hybrid |
salary | { "min": 46000, "max": 54000, "currency": "GBP", "interval": "year" } |
postedAt / updatedAt | 2026-09-09T08:35:19.000Z |
jobUrl / applyUrl | https://careers.airbnb.com/positions/8184174?gh_jid=8184174 |
descriptionText / descriptionHtml | full job description |
jobId / requisitionId | 8184174 |
How to scrape Greenhouse jobs
- Add the companies: the board name (
airbnb) or any Greenhouse link. The board name is the part aftergreenhouse.io/in the company's job links. - Optionally set filters: keywords such as
engineerorproduct manager, locations such asLondonorRemote, a date range. - 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-scraperas 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
runsendpoint 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
- Lever Jobs Scraper: every job of any company on Lever, including EU sites
- Ashby Jobs Scraper: startup jobs from Ashby job boards, with compensation
- Workday Jobs Scraper: every job from any Workday career site, past the 2,000 search limit
- Dice Jobs Scraper: US tech jobs from Dice.com, with skills and salaries
- Welcome to the Jungle Jobs Scraper: startup jobs in France, Europe, the UK and the US
- SEEK Jobs Scraper: jobs in Australia and New Zealand, with salaries as numbers
- StepStone Jobs Scraper: jobs in Germany, with benefits and English-language jobs
- Jobstreet Jobs Scraper: jobs in Malaysia, Singapore, the Philippines and Indonesia, with salaries as numbers
- JobsDB Jobs Scraper: jobs in Hong Kong and Thailand, with salaries as numbers
- Reed Jobs Scraper: UK jobs from Reed.co.uk, with salaries, contract type and hybrid or remote
- InfoJobs Jobs Scraper: jobs in Spain from InfoJobs.net, with salaries and remote policy
- LinkedIn Jobs Scraper: public LinkedIn job listings without login, with full job details
- Indeed Jobs Scraper: Indeed jobs in 62 countries, with salaries, job types, benefits and company details
- Glassdoor Jobs Scraper: Glassdoor jobs in 62 countries, with company ratings, salaries and company details
- Wellfound Jobs Scraper: startup jobs from Wellfound (AngelList Talent) with salary, equity and company stage
- Xing Jobs Scraper: jobs in Germany, Austria and Switzerland from Xing, with salary or Xing's salary estimate and career level
- Foundit Jobs Scraper: jobs in India, the Gulf, Singapore, Malaysia, the Philippines and Hong Kong from Foundit (formerly Monster), with experience, skills and salary
- All-in-One Jobs Scraper: LinkedIn, Indeed, Glassdoor and the other job boards here in one search, plus career sites you add, with duplicates removed
Missing a field or a feature? Open an issue in the Issues tab or email support@mozartstandard.com, and we will reply quickly.