Greenhouse Jobs Scraper avatar

Greenhouse Jobs Scraper

Pricing

from $0.50 / 1,000 jobs

Go to Apify Store
Greenhouse Jobs Scraper

Greenhouse Jobs Scraper

Job listings from any Greenhouse board with title, department, locations and the pay range the company publishes, read live when you run it. Give it board links, board tokens or company domains, or leave the list empty to search more than 180,000 open Greenhouse jobs in our daily index.

Pricing

from $0.50 / 1,000 jobs

Rating

0.0

(0)

Developer

deriverge s.r.o.

deriverge s.r.o.

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Greenhouse Jobs Scraper returns every open job on the Greenhouse boards you give it, one row per job: title, department, locations, posting and update dates, the apply link and the pay range when the company publishes one. Paste a board link such as https://job-boards.greenhouse.io/gitlab and click Start, or leave the list empty to search more than 180,000 open Greenhouse jobs from our daily index (29 September 2026). Greenhouse boards publish no employment type, workplace type or team, so those fields stay empty. It costs $1.00 per 1,000 jobs on the Free plan ($0.50 on Business), and the $5 of monthly credit in Apify's Free plan covers about 5,000 jobs.

What data does it return?

FieldDescription
title, departmentTitle as posted and the first department the job is filed under, Product Security in the sample.
companyName, companyCompany name from the board (GitLab) and the board token from the link (gitlab).
locations, countriesGreenhouse gives one location text per job, and it can name several places: Remote, Canada; Remote, Israel; Remote, United Kingdom; Remote, United States becomes CA, IL, GB and US.
salaryTextPay range from the board's pay transparency data with the label the company gave it, such as 203,200 - 275,000 USD (United States Salary Range). Several ranges are joined with a semicolon.
salaryMin, salaryMax, salaryCurrency, salaryPeriodThe same range as numbers. With descriptions on, a range written only in the ad is read too.
salaryYearlyMin, salaryYearlyMaxPay per year (hourly × 2,080, monthly × 12), for comparing hourly and salaried jobs.
postedAt, updatedAtWhen the job was first published and when it last changed, as ISO 8601 timestamps.
languageLanguage code Greenhouse stores with the job (en), present even without descriptions.
url, applyUrlThe link Greenhouse gives for the job. Some companies point it at their own careers page with a gh_jid parameter, as Stripe does: https://stripe.com/jobs/search?gh_jid=8145117.
seniority, jobCategory, workArrangementRead from the title, department, location and description: lead, it-security and remote for the sample job.
employmentTypesTypes named in the title, such as contract or internship; for most jobs the list is empty.
skills, experienceYearsMin, educationLevel, visaSponsorshipRead from the description when it is on: GitLab, Go, Python, TypeScript, Rust and 10 years for the sample job.
descriptionThe ad as plain text. Greenhouse sends it in the same response as the job list.
key, jobId, input, reference, firstSeenAtA key such as greenhouse:gitlab:8731718002, the Greenhouse job ID, your input as typed, your own label and the time this run read the job.

How to scrape Greenhouse jobs

  1. Put one Greenhouse board per line into Career sites. Links on job-boards.greenhouse.io and boards.greenhouse.io work, including their EU versions and embed links that carry the token after ?for=. The bare token (gitlab) or a company domain (gitlab.com) works as well.
  2. To follow only some roles, set Title keywords, which also match the department, or Countries and Locations. The job filters cover seniority, job category, work arrangement and pay.
  3. Turn on Include the full job description to get the ad text, the skills and years of experience it asks for, and pay that is written only in the text.
  4. Click Start. The Output tab lists the jobs for download in CSV, Excel or JSON. A matching API input:
{
"companies": ["https://job-boards.greenhouse.io/gitlab", "stripe"],
"keywords": ["security"],
"hasSalary": true,
"includeDescription": true,
"maxJobsPerCompany": 25
}

Example output

One row from a run on 30 September 2026 over GitLab's board with Title keywords set to security, Only jobs with a salary and descriptions on; description is trimmed to its opening two sentences.

{
"key": "greenhouse:gitlab:8731718002",
"ats": "greenhouse",
"company": "gitlab",
"companyName": "GitLab",
"jobId": "8731718002",
"title": "Principal Security Researcher",
"locations": [
"Remote, Canada; Remote, Israel; Remote, United Kingdom; Remote, United States"
],
"remote": true,
"department": "Product Security",
"team": null,
"employmentType": null,
"workplaceType": null,
"salaryText": "203,200 - 275,000 USD (United States Salary Range)",
"postedAt": "2026-09-05T17:47:29.000Z",
"updatedAt": "2026-09-29T14:38:50.000Z",
"url": "https://job-boards.greenhouse.io/gitlab/jobs/8731718002",
"applyUrl": "https://job-boards.greenhouse.io/gitlab/jobs/8731718002",
"description": "GitLab is the intelligent orchestration platform for DevSecOps. GitLab enables organizations to increase developer productivity, improve operational efficiency, reduce security and compliance risk, and accelerate digital transformation. …",
"language": "en",
"reference": null,
"input": "https://job-boards.greenhouse.io/gitlab",
"firstSeenAt": "2026-09-30T00:43:34.320Z",
"seniority": "lead",
"jobCategory": "it-security",
"employmentTypes": [],
"workArrangement": "remote",
"countries": [
"CA",
"IL",
"GB",
"US"
],
"salaryMin": 203200,
"salaryMax": 275000,
"salaryCurrency": "USD",
"salaryPeriod": "year",
"salaryYearlyMin": 203200,
"salaryYearlyMax": 275000,
"visaSponsorship": null,
"skills": [
"GitLab",
"Go",
"Python",
"TypeScript",
"Rust"
],
"experienceYearsMin": 10,
"experienceYearsMax": null,
"educationLevel": null
}

How much does it cost to scrape Greenhouse jobs?

Free planStarterScaleBusiness
1,000 jobs$1.00$0.80$0.65$0.50

You pay only for the events in the table. There is no start fee, and compute time and proxies are included.

A board with 200 open jobs costs $0.20 on the Free plan and $0.10 on Business, whether or not you add descriptions. Jobs your filters remove, jobs the new-only mode skips and companies that turn out to use another system are not charged.

Limits

  • On 29 September 2026, about one Greenhouse job in five in our index had a pay range in its board data. The others get pay numbers only when the description states a range and descriptions are on.
  • With no workplace field to go on, workArrangement relies on words in the location, title and description, such as Remote or Hybrid.
  • Only the first department of a job is kept.
  • A company can run several Greenhouse boards, for example one per region or brand. Add each board on its own line.
  • Greenhouse keeps internal job postings off the public board, so they are not returned.

Searching all Greenhouse jobs

With Career sites empty, the actor searches the Greenhouse part of our daily index, where every board is re-read each day. The filters work the same way, except that title keywords match only the title. Results come newest first, up to Maximum jobs (index search), 1,000 when empty; a search that returned 955 jobs finished in about 9 seconds. Index rows name the company in company and the token in companySlug, and have no input or reference. Turning on the description re-reads each job on its board, which also drops jobs closed since the last build.

FAQ

Greenhouse job boards are public pages that companies publish to recruit, and the actor reads them through Greenhouse's Job Board API, which serves those same pages. It collects the job ads only, with no candidate or employee data. It is up to you to use the results lawfully.

What is a Greenhouse board token?

The name after the host in the board link: in https://job-boards.greenhouse.io/gitlab it is gitlab. If you only know the company's website, enter its domain. The actor looks for a Greenhouse link on the company's careers page and, failing that, for a board whose data contains the domain or whose name matches it.

How do I track new Greenhouse jobs every day?

Turn on Return only jobs posted since the last run, set a Watch name and schedule the run daily. Each run returns the jobs that were not on the boards the time before, and the CHANGES record also counts closed and retitled jobs. Jobs a run leaves out because of Maximum jobs per company or its maximum cost are not marked as seen, so the following run returns them.

Support

This actor is built and maintained by deriverge s.r.o., a software company based in the Czech Republic. If a run fails or a field you need is missing, please open an issue in the Issues tab or write to us at info@deriverge.com. We respond in English and Czech. Runs can be scheduled in Apify Console or started from the API tab, which has examples for Python, JavaScript and cURL and works with Make, Zapier, n8n and the Apify MCP server. If the actor saves you time, a short review helps other people find it.