Greenhouse.io Jobs Scraper avatar

Greenhouse.io Jobs Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Greenhouse.io Jobs Scraper

Greenhouse.io Jobs Scraper

Every open job from any company's Greenhouse job board, with salary ranges, departments and offices. Filter by location, keyword or department. No API key required.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Hoho

Hoho

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Get every open job from any company's Greenhouse job board: titles, locations, departments, offices, salary ranges, and optionally full descriptions. List as many companies as you like in one run, and filter by location, job title or department. No API key required.


Why this scraper?

  • Thousands of companies hire through Greenhouse. Discord, Airbnb, Figma, Databricks, Coinbase, Dropbox, GitLab, Robinhood, Stripe and many more. One run can cover your whole target list.
  • Salary ranges included. When a company publishes pay (most US companies now do), you get min, max and currency per range, already converted from cents.
  • Filters that work. Location, title keyword and department. Each is a case-insensitive "contains" match, so New York also matches New York City, New York and Remote - New York.
  • Built for scheduled runs. A company that has left Greenhouse is skipped and logged; it doesn't fail the rest of your list.
  • Paste names or URLs. discord, Discord, https://job-boards.greenhouse.io/discord and boards.greenhouse.io/discord/jobs/123 all work.
  • Cheap: $1 per 1,000 jobs.

What you can fetch

ModeDescription
jobsEvery open job at the companies you list, optionally filtered

How to find a company's board name

Greenhouse is the hiring software behind many companies' careers pages, not a job site. Each company has its own board at job-boards.greenhouse.io/<board-name> (older boards use boards.greenhouse.io/<board-name>). The board name is usually the company name in lowercase (discord, airbnb, figma). If a company's careers page links to a Greenhouse address, the board name is the part after greenhouse.io/. Some companies show Greenhouse jobs on their own site (Stripe forwards to stripe.com/jobs), but their board name still works here.


Usage

All jobs at one company

{
"companies": ["discord"]
}

Several companies, New York only

{
"companies": ["databricks", "figma", "airbnb", "coinbase"],
"location": "New York"
}

Engineering roles, with full descriptions

{
"companies": ["gitlab", "dropbox"],
"department": "engineering",
"includeDescription": true
}

Remote sales roles

{
"companies": ["databricks", "robinhood"],
"keyword": "sales",
"location": "remote"
}

Input fields

FieldTypeDefaultDescription
companiesarray of strings["discord"]Greenhouse board names or Greenhouse job-board URLs
locationstring—Keep jobs whose location or office contains this text (e.g. New York, London, Remote)
keywordstring—Keep jobs whose title contains this text (e.g. engineer)
departmentstring—Keep jobs in a department whose name contains this text (e.g. sales)
includeDescriptionbooleanfalseAdd the full job description as HTML (description) and plain text (descriptionText)
limitinteger0Max results: stop after this many jobs. 0 returns every matching job. Companies are fetched in the order you list them, and once enough jobs match, the rest aren't fetched.

All text filters ignore case. You can combine them: a job must match every filter you set.


Output fields

One dataset row per job:

FieldTypeDescription
idintegerGreenhouse job ID
titlestringJob title
companystringThe board name you asked for (e.g. discord)
companyNamestringCompany display name (e.g. Discord)
locationstringLocation as the company wrote it (e.g. San Francisco Bay Area)
departmentsarrayDepartment names (e.g. ["Policy"])
officesarrayOffices, each { name, location }
urlstringJob posting / apply link
firstPublishedstringWhen the job was first posted (ISO 8601)
updatedAtstringWhen the job was last updated (ISO 8601)
requisitionIdstringThe company's internal requisition ID, when set
applicationDeadlinestringApplication deadline, when set (usually empty)
languagestringPosting language code (e.g. en)
salaryarraySalary ranges, each { label, min, max, currency }. Empty when the company doesn't publish pay
descriptionstringFull description as HTML (only with includeDescription)
descriptionTextstringFull description as plain text (only with includeDescription)

Example row:

{
"id": 8806482002,
"title": "Commercial Policy Lead",
"company": "discord",
"companyName": "Discord",
"location": "San Francisco Bay Area",
"departments": ["Policy"],
"offices": [{ "name": "San Francisco, CA", "location": "San Francisco, California, United States" }],
"url": "https://job-boards.greenhouse.io/discord/jobs/8806482002",
"firstPublished": "2026-09-15T12:52:11-04:00",
"updatedAt": "2026-09-15T12:52:11-04:00",
"requisitionId": "R-107406",
"applicationDeadline": null,
"language": "en",
"salary": []
}

Note: these are the exact keys on each dataset row. In the Apify console's field list you'll see jobId, jobTitle and jobDescription instead. Apify's dataset-schema format reserves id, title and description, so those three are aliased for display only. The data itself uses id / title / description.


Good to know

  • You name the companies. Greenhouse has no search across all companies, so this actor can't answer "every Greenhouse job in New York". It gets every job at the companies you list, and the filters narrow that down.
  • Unknown companies are skipped. If a board name doesn't exist, the run logs it and carries on with the rest. If none of the names exist, the run fails with a message listing them.
  • Salary is only as good as the posting. Some companies publish several ranges per job (by US pay zone, for example); you get all of them, each with the company's own label.
  • Filters are plain text matches. NYC won't match New York. Use the wording companies actually use.

Use cases

  • Sales and recruiting signals: watch target accounts and see when they start hiring for a team
  • Job boards and newsletters: fill a niche board from the careers pages of hand-picked companies
  • Salary research: collect published pay ranges by role, company and location
  • Job search: track openings at the companies you want to work for, on a daily schedule

Disclaimer

This actor is not affiliated with, endorsed by, or sponsored by Greenhouse Software, Inc. or any company whose jobs it returns. It reads the public Greenhouse Job Board API, which companies use to publish their openings. Use the data responsibly and in line with applicable laws.