Greenhouse Jobs Scraper & New Job Alerts avatar

Greenhouse Jobs Scraper & New Job Alerts

Pricing

from $1.00 / 1,000 job results

Go to Apify Store
Greenhouse Jobs Scraper & New Job Alerts

Greenhouse Jobs Scraper & New Job Alerts

Scrape every open job from any Greenhouse job board in seconds, with full descriptions, departments and locations. Schedule it to get only new or closed postings. No proxy, no login.

Pricing

from $1.00 / 1,000 job results

Rating

0.0

(0)

Developer

Mikirag3

Mikirag3

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

What does Greenhouse Jobs Scraper do?

Greenhouse Jobs Scraper extracts every open job from company job boards hosted on Greenhouse (boards.greenhouse.io, job-boards.greenhouse.io, including the EU region): title, department, office locations, publication and update dates, links and the full description. Type a board name like stripe or paste a board URL, click Start, and download the jobs as JSON, CSV, Excel or HTML.

Turn on monitoring mode and schedule it daily or hourly: each run returns only the jobs posted since the last run, and optionally the jobs that were closed. It works as a ready-made Greenhouse new job alert for Slack, email, Google Sheets or a webhook.

  • ✅ Fast: a whole board in 1–2 seconds, even with descriptions. Stripe's 700+ jobs take about one second.
  • ✅ Board name or URL: stripe, https://boards.greenhouse.io/stripe, https://job-boards.greenhouse.io/stripe or EU boards.
  • ✅ New and closed jobs in monitoring mode, so unchanged jobs are never charged twice.
  • ✅ Full details: description as clean text, department, every office location, first published and last updated dates.
  • ✅ Official public API: uses Greenhouse's documented Job Board API. No proxy, no browser, no login.
  • ✅ Many companies per run: watch dozens of boards in one scheduled task.

Who uses it?

  • Job seekers and job alert services: get a message the morning a target company opens a role.
  • Recruiters and staffing agencies: watch client and competitor hiring across dozens of tech companies, most of which use Greenhouse.
  • Sales and RevOps teams: hiring is a buying signal. Five new data engineering roles at a scale-up is a lead.
  • Investors and analysts: track hiring velocity and team growth at startups and public companies.
  • Job boards and aggregators: structured listings straight from the source, deduplicated by job ID.

How to scrape Greenhouse jobs

  1. Click Try for free.
  2. In Greenhouse job boards, add one board per line, for example:
    • stripe
    • https://boards.greenhouse.io/figma
    • https://job-boards.greenhouse.io/discord
  3. Optionally add filters: job title keywords, words to exclude, locations, departments, remote only, posted within the last N days.
  4. Click Start.

Finding the board name: open any job on the company's careers page. If the address contains greenhouse.io/<name> or gh_jid=, the company uses Greenhouse. The board name is usually the company name in lowercase (stripe, airbnb, databricks).

Greenhouse new job alerts (monitoring mode)

  1. Turn on Only new jobs since the last run.
  2. Give the watch list a Monitor name, for example fintech-competitors.
  3. Save the input as a task and add a schedule, for example every day at 7:00.
  4. Connect the task to Slack, email, Google Sheets, Make, Zapier, n8n or a webhook through Apify integrations.

The first run returns all current jobs (or none, if you turn off Return existing jobs on the first run) and remembers them. Every later run returns only new postings. Turn on Also report closed jobs to get a removed record when a posting disappears. Jobs that were not delivered (for example because the run hit your cost limit) are not marked as seen, so they come in the next run.

Input example

{
"companies": ["stripe", "figma", "https://job-boards.greenhouse.io/discord"],
"keywords": ["engineer", "data"],
"excludeKeywords": ["intern"],
"locations": ["New York", "Remote"],
"includeDescription": true,
"onlyNewJobs": true,
"monitorName": "tech-watchlist",
"reportRemovedJobs": true
}

Output example

{
"type": "job",
"ats": "greenhouse",
"companySlug": "figma",
"companyName": "Figma",
"jobId": "5426468004",
"title": "Account Executive, Enterprise",
"department": "Sales",
"location": "San Francisco, CA • New York, NY • United States",
"allLocations": ["San Francisco, CA • New York, NY • United States", "US"],
"isRemote": false,
"postedAt": "2025-01-28T23:57:29+00:00",
"updatedAt": "2026-07-22T09:37:08+00:00",
"url": "https://boards.greenhouse.io/figma/jobs/5426468004?gh_jid=5426468004",
"applyUrl": "https://boards.greenhouse.io/figma/jobs/5426468004?gh_jid=5426468004",
"description": "Figma is growing our team of passionate creatives and builders on a mission to make design accessible to all...",
"isNew": true,
"firstSeenAt": "2026-10-12T07:00:00+00:00",
"scrapedAt": "2026-10-12T07:00:00+00:00"
}

Closed jobs (monitoring mode with Also report closed jobs):

{ "type": "removed", "ats": "greenhouse", "companyName": "Stripe", "jobId": "8172510", "title": "Abuse Investigator", "location": "Seattle", "url": "https://stripe.com/jobs/search?gh_jid=8172510", "firstSeenAt": "2026-09-01T00:00:00+00:00", "removedDetectedAt": "2026-10-12T07:00:00+00:00" }

A run summary (boards checked, not found, errors, jobs returned) is saved in the key-value store under OUTPUT.

Data fields

FieldDescription
typejob for an open position, removed for a closed one (monitoring mode)
companySlug, companyNameGreenhouse board name and company display name
jobId, titleGreenhouse job ID and job title
departmentDepartment as published on the board
location, allLocationsMain location and every office listed
isRemoteRemote flag, based on location and office labels
postedAt, updatedAtFirst published and last updated dates (ISO 8601, UTC)
url, applyUrlJob page and application page
descriptionFull job description as plain text
isNew, firstSeenAtMonitoring mode: whether the job is new, and when the Actor first saw it

Salary and employment type are null on most Greenhouse boards, because the public Job Board API does not publish them as structured fields. Values are never guessed from description text.

How much does it cost to scrape Greenhouse?

Pay-per-event pricing, you only pay for results:

  • Job board checked: $0.001 per board per run.
  • Job result: $0.001 per job, i.e. $1 per 1,000 jobs.

Example: a first full snapshot of Stripe, Figma and Discord (about 930 jobs) costs about $0.93. After that, a daily monitoring run on the same three boards costs $0.003 plus $0.001 per new job. Unchanged jobs are free. You can cap any run with Apify's maximum cost per run; the Actor stops cleanly and keeps undelivered jobs for the next run.

FAQ

Do I need a Greenhouse account or API key? No. The Actor reads the public Job Board API that powers each company's careers page. It does not log in or apply to jobs. Review the company's terms and your intended use of the data.

A board was not found. The board name may differ from the company name, or the company may not use Greenhouse. Open a job on their careers page and look for greenhouse.io/<name> in the address.

Need Lever, Ashby, Workday, Personio, Recruitee, Teamtailor or BambooHR too? Use our Jobs Scraper for 8 ATS platforms, which returns all of them in the same format, or the Workday Jobs Scraper.

Found a problem or need a feature? Open an issue in the Issues tab.