Greenhouse Jobs Scraper: job boards with salary ranges avatar

Greenhouse Jobs Scraper: job boards with salary ranges

Pricing

$1.50 / 1,000 job results

Go to Apify Store
Greenhouse Jobs Scraper: job boards with salary ranges

Greenhouse Jobs Scraper: job boards with salary ranges

Get every open job from Greenhouse job boards (boards.greenhouse.io, job-boards.greenhouse.io, EU boards and embedded boards) as clean JSON with pay-transparency salary ranges, locations, department, remote flag and apply link. Filters, new-job monitoring, pay per job.

Pricing

$1.50 / 1,000 job results

Rating

0.0

(0)

Developer

Matija Sever

Matija Sever

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Get every open job from Greenhouse job boards as clean, normalized JSON: title, locations, countries, remote or hybrid flag, employment type, department and salary range where the board publishes them, posting date, full description and the apply link. Give the Actor one or more Greenhouse boards and it returns one item per job.

It reads only the public Job Board API (boards-api.greenhouse.io) that Greenhouse serves for career sites. No login, no browser, no proxies, no personal data, so runs are fast, cheap and reliable.

Need more platforms? The multi-ATS edition, ATS Jobs Scraper, covers 13 applicant tracking systems (Greenhouse, Lever, Ashby, Workday, Personio, Recruitee, Teamtailor, SmartRecruiters and more) with the same output format, so results from both Actors can be merged.

How to find a Greenhouse board

Paste the company's Greenhouse board URL, for example https://boards.greenhouse.io/airbnb or https://job-boards.eu.greenhouse.io/proton, a link to any of its jobs, the shorthand greenhouse:airbnb, the company's own careers page with an embedded Greenhouse board, or just the board name (airbnb).

What can you use it for?

  • Job boards and aggregators: feed a niche board directly from company career sites instead of reposted ads.
  • Job alerts and monitoring: run it daily with Only new jobs and receive (and pay for) new postings only.
  • Sales and recruiting intelligence: hiring is a buying signal. Benchmark salaries for a role across dozens of tech companies that publish pay ranges.
  • AI agents (MCP): agents can call it through the Apify MCP server to answer questions like "which of these companies hire remote data engineers?" in one step.

How to use it

  1. Add boards to the Greenhouse boards field, one per line (see the formats above).
  2. Optionally set filters: keywords, locations, remote only, posted within N days, departments, employment types.
  3. Click Start. Results appear in the Output tab; a per-company report is saved as RUN_SUMMARY.

Input example

{
"companies": [
"https://boards.greenhouse.io/airbnb",
"https://job-boards.eu.greenhouse.io/proton"
],
"maxJobsPerCompany": 100
}

Output example

Each job is one dataset item with the same keys for every board; values the board does not publish are null. A real item from a Greenhouse board, description shortened:

{
"company": "Airbnb",
"company_slug": "airbnb",
"ats": "greenhouse",
"job_id": "8316843",
"title": "Connectivity Partner Manager",
"url": "https://careers.airbnb.com/positions/8316843?gh_jid=8316843",
"apply_url": "https://careers.airbnb.com/positions/8316843?gh_jid=8316843",
"locations": [
"United States"
],
"countries": [
"US"
],
"is_remote": true,
"workplace_type": "remote",
"department": "Business Development",
"team": null,
"employment_type": null,
"employment_type_raw": null,
"salary_min": 111000,
"salary_max": 123000,
"salary_currency": "USD",
"salary_period": "year",
"salary_text": "Pay Range: USD 111,000 - 123,000",
"posted_at": "2026-10-23T17:22:56Z",
"updated_at": "2026-10-24T13:20:32Z",
"description_text": "Airbnb was born in 2007 when two hosts welcomed three guests to their San Francisco home, and has since grown to over 5 million hosts who have welcomed over ...",
"source_url": "https://boards-api.greenhouse.io/v1/boards/airbnb/jobs?pay_transparency=true",
"scraped_at": "2026-10-25T20:28:17Z"
}

The Output tab offers three views: Overview, Salaries and All fields. A per-company report is saved as RUN_SUMMARY in the key-value store.

Monitoring new jobs

Turn on Only new jobs and run the Actor on a schedule (for example daily). Each run returns only jobs that earlier runs with the same State key have not returned, so you receive (and pay for) new postings only. The list of returned job IDs is kept for 120 days in a named key-value store ats-jobs-scraper-state in your account. Use a different state key for each schedule or saved task.

Tip: the first run returns all currently open jobs that match your filters. If you also set maxJobsPerCompany, jobs held back by that cap count as new in later runs, so for monitoring prefer filters (keywords, locations) over small caps. Already-known jobs are dropped before any per-job request, so monitoring runs stay fast and cheap.

Use via API

curl -X POST "https://api.apify.com/v2/acts/endurable_aqueduct~greenhouse-jobs-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"companies": ["https://boards.greenhouse.io/airbnb"], "maxJobsPerCompany": 50}'

Pricing

This Actor uses pay per event: you pay for the job postings you get, not for compute time.

EventPrice
Job posting saved to the dataset$1.50 per 1,000 jobs ($0.0015 per job)
Actor start$0.00005 per run (Apify default)

Examples: 10 companies with 50 matching jobs each = 500 jobs = about $0.75. A daily monitoring run over 100 companies that finds 40 new jobs costs about $0.06. Failed companies, duplicates and jobs skipped by your filters or by Only new jobs are never charged. Set Maximum cost per run in the run options to cap spending: the Actor stops collecting exactly when your limit is reached, and RUN_SUMMARY says so.

FAQ

Is this an official Greenhouse product? No. This Actor is independent and is not affiliated with, endorsed by or sponsored by Greenhouse Software, Inc.. Greenhouse is a trademark of its owner and is used here only to describe which job boards the Actor reads.

Is it legal to collect these job postings? The Actor reads job advertisements that companies publish publicly in order to distribute them, through the public endpoints that Greenhouse serves for career sites. It does not log in, bypass access controls or collect personal data. You remain responsible for how you use the data; if in doubt, consult a lawyer.

Why did a board return 0 jobs? Check RUN_SUMMARY: the board may not exist (error), may have no open jobs, or your filters removed everything (jobs_found > 0 but jobs_matched = 0).

Can I mix in companies that use other platforms? This edition accepts Greenhouse boards only and reports other platforms as input errors. Use the ATS Jobs Scraper for mixed lists.

Limitations

  • Salary ranges are returned when the company publishes them through Greenhouse pay transparency.
  • Boards that are not public on Greenhouse (internal-only job posts) cannot be read.