Greenhouse Jobs Scraper & API: Any Board or All Greenhouse Jobs avatar

Greenhouse Jobs Scraper & API: Any Board or All Greenhouse Jobs

Pricing

from $0.50 / 1,000 job listings

Go to Apify Store
Greenhouse Jobs Scraper & API: Any Board or All Greenhouse Jobs

Greenhouse Jobs Scraper & API: Any Board or All Greenhouse Jobs

Scrape any Greenhouse job board by company, or search all 150,000+ open Greenhouse jobs by keyword, country, skills, seniority, remote and salary. Title, locations, salary as numbers, skills, apply link, full description. New jobs only mode. JSON, CSV, API.

Pricing

from $0.50 / 1,000 job listings

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

16 hours ago

Last modified

Share

Greenhouse Jobs Scraper

Scrape every open job from any Greenhouse job board: title, company, department, locations, remote flag, posting date and apply link, read live from the company's own board each time you run it. Paste board tokens, board links or company domains, or leave the list empty to search all 190,000+ open Greenhouse jobs in our daily index by keyword, country, skills, seniority, remote and salary.

You pay only for jobs returned, from $0.50 per 1,000, with no start fee. The $5 of monthly credit in Apify's Free plan covers about 5,000 jobs, so you can test it on real boards for free.

Why use Greenhouse Jobs Scraper?

  • Live data, not a cached index. Each run reads the company's Greenhouse job board directly. A job published this morning is in this morning's dataset, and a closed job is gone.
  • Company domains work. Enter a domain and the actor finds the Greenhouse job board, confirms it belongs to that company and only then scrapes it. A wrong company's jobs are worse than none.
  • New jobs only, on a schedule. Turn on newOnly, schedule the task daily, and each run returns just the jobs that appeared since the previous one.
  • Or search every Greenhouse job. Leave Career sites empty and the actor searches all 190,000+ open Greenhouse jobs in our daily index of company career sites, with the same filters and fields.
  • Low, predictable price. You pay per job returned. Filtered jobs, jobs you already received and companies on another system cost nothing.
  • No browser, no proxies, no login. The actor calls the same public Greenhouse interface the careers page uses, so a run over a few boards finishes in seconds.

What data does Greenhouse Jobs Scraper extract?

FieldWhat it contains
titleJob title
companyNameCompany name as the board publishes it
departmentDepartment
locationsEvery location on the job
remotetrue when the job is marked or described as remote
postedAtWhen the job was first published
updatedAtWhen the job was last updated
salaryTextPay range, when the company publishes it
languageLanguage of the posting
seniorityintern, entry, mid, senior, lead, director or executive, read from the job title (mid when the title names no level)
jobCategoryJob category such as software, data, sales, healthcare, logistics or retail, from the title and department
countriesTwo-letter country codes read from the locations, for example US for "Austin, TX"
workArrangementremote, hybrid or onsite, from the workplace field, the location and clear sentences in the description
employmentTypesNormalised types: full-time, part-time, contract, temporary, internship, apprenticeship, volunteer
salaryMin, salaryMax, salaryCurrency, salaryPeriodPay as numbers, from the salary field or a pay range written in the description
salaryYearlyMin, salaryYearlyMaxThe same pay converted to a year, for comparing hourly and yearly jobs
visaSponsorshiptrue or false when the description says whether the company sponsors visas, otherwise null
skillsTools, languages, platforms and certifications the job mentions, for example Python, AWS, Salesforce, Excel or CPA
experienceYearsMin, experienceYearsMaxYears of experience the description asks for: 5 for "5+ years", 3 and 5 for "3-5 years"
educationLevelLowest degree the description mentions: high-school, associate, bachelor, master or doctorate
languageLanguage of the job ad as a two-letter code, from the ATS or detected from the description
companyWebsiteThe company website, where the ATS publishes it (Ashby, Lever, iCIMS)
url, applyUrlJob page and application link
descriptionFull job description as plain text, with Include the full job description
jobId, keyGreenhouse job ID and a stable key for deduplication across runs
company, input, referenceThe board token, your original input, and your own label if you passed one

A field the company did not publish is null. Seniority, countries, work arrangement, employment types, salary numbers, visa sponsorship, skills, years of experience, education level and language are read by fixed rules from what the job says, not guessed.

Who uses Greenhouse Jobs Scraper?

  • Recruiting and sourcing: watch the boards of the companies you place candidates with and act the day a role opens.
  • Sales prospecting: hiring is a buying signal. A company opening five data engineering roles is likely shopping for data tools.
  • Job boards and aggregators: fill a niche board with fresh, first-party listings instead of reposts.
  • Market and salary research: see which teams companies are growing, where, and at what pay where it is published.

How much does it cost to scrape Greenhouse jobs?

You pay per job returned. There is no start fee and no charge for compute time or proxies.

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

For example, 10,000 jobs cost $10.00 on the Free plan and $5.00 on the Business plan. The $5 of monthly credit in Apify's Free plan covers about 5,000 jobs, so you can try it on real boards without paying anything.

Jobs removed by your filters, jobs already returned in new-only mode and companies that are not on the system you asked for are never charged. A run that returns nothing costs nothing.

How to scrape Greenhouse jobs

  1. Click Try for free (or Start if you are signed in) to open the actor in Apify Console.
  2. In Career sites, add one company per line: a board token such as stripe, a link such as https://boards.greenhouse.io/stripe or a company domain such as gitlab.com.
  3. Optionally narrow the results with Title keywords, Exclude title keywords, Locations, Remote jobs only or Posted within the last N days.
  4. Click Start. Rows appear in the Output tab within seconds.
  5. Download the dataset as JSON, CSV, Excel or HTML, or read it through the API.

Input example

{
"companies": [
"stripe",
"gitlab.com"
],
"keywords": [
"engineer"
],
"maxJobsPerCompany": 50
}

Output example

A real row from a run on September 26, 2026:

{
"key": "greenhouse:gitlab:8556658002",
"ats": "greenhouse",
"company": "gitlab",
"companyName": "GitLab",
"jobId": "8556658002",
"title": "AI Engineer",
"locations": [
"Remote, Bangalore"
],
"remote": true,
"department": "Enterprise Applications",
"team": null,
"employmentType": null,
"workplaceType": null,
"salaryText": null,
"postedAt": "2026-05-22T13:16:29.000Z",
"updatedAt": "2026-09-14T20:01:39.000Z",
"url": "https://job-boards.greenhouse.io/gitlab/jobs/8556658002",
"applyUrl": "https://job-boards.greenhouse.io/gitlab/jobs/8556658002",
"description": null,
"language": "en",
"reference": null,
"input": "gitlab.com"
}

In the Output tab the Overview view shows the same data as a table. Every run also stores a SUMMARY record with the jobs found and returned per company, and how each domain was matched to its board.

Get only new jobs every day

Turn on Return only jobs posted since the last run (newOnly), give the run a Watch name or save the input as a task, and schedule it daily. Each run compares the boards with the previous snapshot and returns only jobs that were not there before, so every job reaches you once and is paid once. Closed and retitled jobs are counted in the CHANGES record of the run.

Tips and limitations

  • Pay comes from the salary field when the company publishes one, and from a pay range written in the description, so turn on Include the full job description to get salaryMin and salaryMax for more jobs.
  • Some companies run several boards, for example one per region or brand. Add each board as its own line.
  • Internal and unlisted jobs are not on public boards, so they are not returned.
  • Use Maximum jobs per company to keep a first run small, then remove the cap.

Integrations and API

Connect the actor to Make, Zapier, n8n, Google Sheets, Slack or any webhook, or call it from your own code. With the Python client:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("deriverge/greenhouse-jobs-scraper").call(run_input={"companies": ["stripe", "gitlab.com"]})
for job in client.dataset(run["defaultDatasetId"]).iterate_items():
print(job["companyName"], job["title"], job["locations"])

The API tab on this page has the same call for Node.js and cURL, and AI agents can run the actor through the Apify MCP server.

The actor reads only job postings that companies publish openly for anyone to see, through the same public interface their careers page uses, and it collects no personal data. As with any data source, make sure your use complies with the laws and terms that apply to you.

FAQ

Which companies use Greenhouse?

Thousands, including Stripe, GitLab and Airbnb. If you are not sure which system a company uses, give the actor its domain: it checks the careers page and tells you.

What if a company is not on Greenhouse?

It is skipped at no cost and the run summary says which system it uses. Career Site Jobs Scraper reads fourteen systems in one run: Greenhouse, Lever, Ashby, SmartRecruiters, Workday, Workable, Recruitee, Teamtailor, BambooHR, Personio, Rippling, Breezy HR, Oracle Recruiting Cloud and iCIMS.

How fresh is the data?

As fresh as the board. Nothing is cached between your run and the company's job board.

How many jobs can I get?

All open jobs on each board. Use Maximum jobs per company to cap a run.

Do I need proxies or an API key?

No. Can I search all Greenhouse jobs without naming companies? Yes. Leave Career sites empty and set Keywords, Countries or the other filters: the actor searches all 190,000+ open Greenhouse jobs in our daily index, newest first, up to Maximum jobs (index search). Descriptions are read live when you turn on the description.

Support and feedback

Missing a field, found a board that does not work, or need another system? Open an issue in the Issues tab and it will be answered, usually within a day. If the actor saves you time, a short review helps other people find it.