Greenhouse Jobs Scraper avatar

Greenhouse Jobs Scraper

Pricing

from $1.20 / 1,000 job rows

Go to Apify Store
Greenhouse Jobs Scraper

Greenhouse Jobs Scraper

Scrape Greenhouse job boards: every open job from any company's Greenhouse careers page, or search 17,000+ jobs. Filter by role, country, remote.

Pricing

from $1.20 / 1,000 job rows

Rating

0.0

(0)

Developer

Eki Soka

Eki Soka

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 hours ago

Last modified

Categories

Share

Greenhouse Jobs Scraper: all open jobs from Greenhouse job boards

Get every open job from any company's Greenhouse careers page, or search 17,000+ Greenhouse jobs already collected in our daily database. One clean row per job with title, company, location, countries, remote flag, department, seniority, tech stack, salary (when published), dates and the apply link.

No browser, no proxies, no login: the Actor reads Greenhouse's public job board feed, the same data a candidate sees on the careers page, so runs take seconds and do not break when the page design changes.

What you can do with it

  • Scrape all jobs from a Greenhouse job board: paste https://job-boards.greenhouse.io/<company> or just the company slug
  • Monitor Greenhouse careers pages of target companies and get only new jobs every day
  • Search Greenhouse jobs across every company we track by job title, country, remote and salary
  • Build a job board, newsletter or Slack alert from Greenhouse companies
  • Export Greenhouse job postings to CSV, Excel, JSON, Google Sheets or your database
  • Feed Greenhouse jobs to an AI agent through Apify's MCP server

Input

  • Greenhouse job board URLs or company slugs (boardUrls): boards.greenhouse.io/<company>, job-boards.greenhouse.io/<company> or the embed link boards.greenhouse.io/embed/job_board?for=<company>. Leave empty to search all Greenhouse boards we track.
  • Job title keywords, exclude keywords, locations, countries, remote only, departments, seniority, technologies, posted within / new within (days), only jobs with salary, include description, include duplicate postings and max results.

Example: all open engineering jobs at two Greenhouse companies

{ "boardUrls": ["https://job-boards.greenhouse.io/<company>", "another-company"], "keywords": ["engineer"] }

Example: remote Greenhouse jobs posted in the last 7 days that publish a salary

{ "remoteOnly": true, "postedWithinDays": 7, "salaryOnly": true, "maxResults": 200 }

Output

One row per job:

{
"title": "Senior Backend Engineer",
"company": "Acme",
"ats": "greenhouse",
"location": "Remote (US)",
"countries": ["US"],
"is_remote": true,
"department": "Engineering",
"seniority": "senior",
"technologies": ["Python", "PostgreSQL", "AWS"],
"salary_min": 170000,
"salary_max": 210000,
"salary_currency": "USD",
"salary_period": "year",
"salary_type": "base",
"visa_sponsorship": null,
"published_at": "2026-10-01T09:00:00+00:00",
"first_seen": "2026-10-01",
"url": "https://boards.greenhouse.io/<company>/..."
}

Greenhouse gives the department, office locations, the first-published date and, for many US companies, a pay range in the job text that the Actor turns into salary fields; the Actor normalises all of it into the same schema it uses for Greenhouse, Lever, Ashby, Workable, Recruitee, SmartRecruiters, BambooHR and Personio, so you can mix sources without rewriting your code.

Pricing

Pay per result: $0.002 per job, less with an Apify subscription (Bronze $0.0018, Silver $0.0015, Gold $0.0012). Fetching a Greenhouse board that is not yet in our database costs $0.01 per board; after that it is tracked daily for everyone. There is no fixed fee and no subscription; set Max results or a maximum cost per run to cap spend.

FAQ

Do I need a Greenhouse account or API key? No. Only public job board data is used.

How fresh is the data? Boards in the database are refreshed every morning. Boards you pass in boardUrls that are not in the database yet are fetched live during your run.

Can I get only new jobs? Yes: schedule the Actor daily with newWithinDays: 1.

Where does the salary come from? From the structured pay fields when Greenhouse provides them, otherwise from the pay range written in the full job text (for example "Salary: $150,000 - $190,000 per year"). salary_type says whether the range is the base salary (base) or on-target earnings including commission (ote), so sales roles do not inflate your benchmarks. Jobs without a published range have empty salary fields.

Does it say whether a job sponsors visas? visa_sponsorship is true when the posting says it sponsors visas, false when it says it does not, and empty when the posting does not mention it.

How is it different from other Greenhouse scrapers? Besides scraping the boards you give it, it can search every Greenhouse company we track at once, it can return only jobs first seen since yesterday, and every row uses the same schema as our other job board Actors, so one pipeline handles all of them.

Why can I get fewer rows than the careers page shows? Large employers often post the same role several times (same title and location). You get one row per company + title + location, and similar_postings says how many identical postings it stands for. Turn on Include duplicate postings to get every posting.

Does it include the full job description? Turn on Include description (plain text, up to ~4,000 characters).

What if a company is not on Greenhouse? Use ATS Detector to find which job board a company uses.

Data and use

Only public job-posting data is collected, at a low request rate. No personal data about candidates. Please respect the terms of the sites you use the data on and applicable laws.

What it costs

ExampleCost
50 Greenhouse jobsabout $0.10
all jobs from 10 Greenhouse boards (~300 jobs)about $0.60
fetching 10 Greenhouse boards not yet in the databaseabout $0.10

You only pay for rows you get. Set Max results (or a maximum cost per run in Apify) to cap spend. Apify's free plan includes monthly credit, so you can try it at no cost. Apify subscribers get automatic Store discounts on some events.

Use it from code, no-code tools or AI agents

Python (pip install apify-client):

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("worthwhile_quinsy/greenhouse-jobs-scraper").call(run_input={'boardUrls': ['https://job-boards.greenhouse.io/gitlab'], 'maxResults': 1000})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

JavaScript / Node.js (npm install apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('worthwhile_quinsy/greenhouse-jobs-scraper').call({"boardUrls": ["https://job-boards.greenhouse.io/gitlab"], "maxResults": 1000});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

One HTTP call (returns the rows directly):

curl -X POST 'https://api.apify.com/v2/acts/worthwhile_quinsy~greenhouse-jobs-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"boardUrls": ["https://job-boards.greenhouse.io/gitlab"], "maxResults": 1000}'

No-code: connect it to Make, Zapier, n8n, Google Sheets, Slack or a webhook from the Integrations tab, and run it on a Schedule (for example every morning).

AI agents (MCP): use it as a tool in Claude, ChatGPT, Cursor or any MCP client through the Apify MCP server: https://mcp.apify.com?tools=worthwhile_quinsy/greenhouse-jobs-scraper. Your agent can then ask for live job data in plain language. Use this tool when the user asks for job listings from Greenhouse job boards or from a specific company's Greenhouse careers page.

More tools from the same job-data suite

All of these read the same daily database of jobs from company career pages, so results are consistent across tools.

ActorWhat it gives you
Company Jobs Search + Hiring SignalsSearch all jobs in the database, check your own list of companies, or get per-company hiring signals.
Remote Jobs APIOnly remote jobs, ready for job boards, newsletters and alert bots.
Companies Hiring by Tech StackB2B buying signals: which companies are hiring for the tools you sell into.
Tech Salary Data APISalary benchmarks (median, P25, P75) from fresh job postings with published pay.
Company Hiring TrendsWhich companies are ramping up hiring, and which are slowing down.
ATS DetectorWhich applicant tracking system (Greenhouse, Lever, Ashby...) a company uses, plus its career page.
Lever Jobs ScraperAll open jobs from any Lever job board, or search every Lever board we track.
Ashby Jobs ScraperAll open jobs from any Ashby job board, or search every Ashby board we track.

Questions and feedback

Found a bug, need another filter, field or ATS? Open an Issue on this Actor's page; issues are answered quickly. If it saved you time, a short review helps other people find it.