Greenhouse Jobs Scraper avatar

Greenhouse Jobs Scraper

Pricing

from $1.20 / 1,000 job results

Go to Apify Store
Greenhouse Jobs Scraper

Greenhouse Jobs Scraper

Scrape open jobs from any company's Greenhouse job board, with department, seniority, job function and stated pay. Or get only new and closed jobs since your last run. No login, no proxy.

Pricing

from $1.20 / 1,000 job results

Rating

0.0

(0)

Developer

Novasphere

Novasphere

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 hours ago

Last modified

Share

Get the open jobs from any company's Greenhouse job board in a clean format. Run it once for the full list, or on a schedule to get only the jobs that were posted or taken down since the last run.

It reads Greenhouse's public job board API, so there's no login, no browser and no proxy. A board usually takes a second or two.

Use it to

  • Watch hiring at a list of companies: competitors, customers, prospects, a fund's portfolio
  • Send new roles to Slack, email, a spreadsheet or your own job board
  • Give an AI agent a tool for "who is hiring for X at these companies"
  • Build hiring-signal data for sales or research

Input

Add one job board per line, in any of these forms:

You enterExample
The job board linkhttps://job-boards.greenhouse.io/stripe
A link to any job on ithttps://job-boards.greenhouse.io/gitlab/jobs/8860302002
The company's websitestripe.com (the Actor follows its careers page to the Greenhouse board)
The board or company namestripe

Older boards.greenhouse.io links, embedded boards (...embed/job_board?for=stripe) and EU boards (job-boards.eu.greenhouse.io) work too. The board name is the part after greenhouse.io/ in the board's address.

Then pick what to output:

  • All open jobs: everything currently on each board that passes your filters.
  • Only changes since the last run: jobs that are new since the previous run, plus jobs that have been taken down. Runs with the same Feed name share their memory, so use one feed name per watchlist. The first run counts every job as new, unless you tick Skip existing jobs on the first run.

Optional filters: words in the job title (include or exclude), seniority, job function, location, department, remote / hybrid, and posted within the last N days.

{
"companies": ["https://job-boards.greenhouse.io/stripe", "gitlab", "airbnb"],
"mode": "changes",
"feedName": "competitors",
"titleKeywords": ["engineer", "product"],
"departmentKeywords": ["engineering"]
}

Output

One item per job:

{
"change": "new",
"company": "GitLab",
"title": "Account Executive - France",
"location": "Remote, France",
"workplaceType": "remote",
"employmentType": null,
"seniority": null,
"jobFunction": "sales",
"department": "EMEA - Commercial",
"team": null,
"salary": null,
"salaryText": null,
"postedAt": "2026-10-02T15:31:50Z",
"url": "https://job-boards.greenhouse.io/gitlab/jobs/8860302002",
"applyUrl": "https://job-boards.greenhouse.io/gitlab/jobs/8860302002",
"platform": "greenhouse",
"board": "gitlab",
"jobId": "8860302002",
"allLocations": ["Remote, France", "France"],
"country": null,
"updatedAt": "2026-10-15T19:24:46Z",
"firstSeenAt": "2026-10-22T08:00:14Z",
"closedAt": null,
"checkedAt": "2026-10-22T08:00:14Z"
}
FieldWhat it is
changenew or closed in changes mode; empty when listing all open jobs
companyThe company name Greenhouse shows
title, locationAs the employer lists them
allLocationsThe job's location plus its office locations
departmentThe job's department
salary, salaryTextPay range, when the employer states one in the description
workplaceTyperemote or hybrid when the location says so
employmentTypeOnly when the employer adds it as a custom field, so often empty
seniorityintern, entry, senior, lead, manager, director or executive, read from the job title. Empty when the title doesn't say
jobFunctionArea of work (engineering, sales, data, design, people, ...), read from the job title, then the department or team
postedAt, updatedAtWhen the job was first published and last updated (ISO 8601, UTC)
url, applyUrlThe job's page; many employers send it to their own careers site
platform, board, jobIdWhere the job came from. jobId is Greenhouse's job ID
firstSeenAt, closedAtChanges mode: when this feed first saw the job, and when it noticed it was gone
checkedAtWhen the board was read
descriptionPlain-text job description, only if you tick Include the job description

team and country are always empty: Greenhouse's public job list doesn't include them.

Each run also saves a summary to its key-value store under OUTPUT: boards checked, boards not found or unreadable (with the reason), and job counts.

Running it as a change feed

  1. Set What to output to Only changes and give the feed a name.
  2. Add a schedule, for example daily.
  3. Connect an integration (webhook, Slack, email, Google Sheets, Zapier, Make) to receive each run's new and closed jobs.

Using it from an AI agent or code

Every input is plain JSON, so it works through the Apify API, the Python and JavaScript clients, and Apify's MCP server (https://mcp.apify.com) for Claude, ChatGPT and other agents. The input also accepts a comma-separated string for companies and the keyword fields.

Good to know

  • Not affiliated with or endorsed by Greenhouse. The name only says which job boards this reads.
  • Only public job-board data is read. There's no candidate or employee data.
  • Job descriptions are the employer's text. Respect each employer's terms if you republish them.
  • In changes mode every job on a board is tracked, and filters only decide what's output, so changing a filter later won't resend old jobs.
  • In changes mode, if a run stops at your maximum charge, the changes it couldn't output are kept and come out on the next run.
  • The feed's memory is kept in your account in a key-value store named greenhouse-jobs-feed-<feed name>. Delete it to start the feed fresh.
  • Boards that can't be found or read are listed in the run summary; the rest of the run carries on.
  • Tracking companies on other job boards too? The multi-platform version reads Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Workable, Recruitee, Personio and BambooHR in one run. To search new jobs across thousands of companies at once, try Career Site Job Search.