Greenhouse Jobs Scraper
Pricing
from $0.70 / 1,000 jobs
Greenhouse Jobs Scraper
Every open job from any company's Greenhouse career page as clean JSON — 26 fields, pay ranges as numbers, remote flag, full description. $1 per 1,000 jobs.
Get every open job from any company's Greenhouse career page as clean JSON — 26 fields per job, 237 jobs from 2 companies in 5 seconds: title, department, locations, remote / hybrid flag, pay range as numbers, dates, apply URL and the full description as plain text.
Paste career-page URLs or company names. Jobs come straight from the employer's own Greenhouse board: no aggregator, no duplicates, no expired listings. Pay ranges come from Greenhouse's pay-transparency fields, already numeric; descriptions are un-escaped to plain text.
What you get
Ten real rows from the run of 2026-09-18 (descriptions shortened here to 160 characters; the dataset carries them in full):
[{"id": "greenhouse:duolingo:8653419002","ats": "greenhouse","company": "duolingo","company_name": "Duolingo","title": "Ad Sales Lead, Central","department": "Business Development","team": null,"location": "Remote - Illinois","locations": ["Remote - Illinois","Remote"],"country": null,"workplace_type": "remote","remote": true,"employment_type": null,"experience_level": null,"salary_min": 140000,"salary_max": 210000,"salary_currency": "USD","salary_period": "year","salary_text": "Salary Range:","posted_at": "2026-07-28T13:47:45.000Z","updated_at": "2026-08-21T17:02:33.000Z","requisition_id": "R-01182","description": "Our mission at Duolingo is to develop the best education in the world and make it universally available. It’s a big mission, and that’s where you come in!\nAt…","apply_url": "https://careers.duolingo.com/jobs/8653419002?gh_jid=8653419002","url": "https://careers.duolingo.com/jobs/8653419002?gh_jid=8653419002","scraped_at": "2026-09-17T20:10:45.949Z"},{"id": "greenhouse:duolingo:8705196002","ats": "greenhouse","company": "duolingo","company_name": "Duolingo","title": "Ad Sales Lead - West","department": "Business","team": null,"location": "Remote - California","locations": ["Remote - California","Remote"],"country": null,"workplace_type": "remote","remote": true,"employment_type": null,"experience_level": null,"salary_min": 152000,"salary_max": 228000,"salary_currency": "USD","salary_period": "year","salary_text": "Salary Range:","posted_at": "2026-08-13T13:22:34.000Z","updated_at": "2026-09-03T16:23:10.000Z","requisition_id": "R-01199","description": "Our mission at Duolingo is to develop the best education in the world and make it universally available. It’s a big mission, and that’s where you come in!\nAt…","apply_url": "https://careers.duolingo.com/jobs/8705196002?gh_jid=8705196002","url": "https://careers.duolingo.com/jobs/8705196002?gh_jid=8705196002","scraped_at": "2026-09-17T20:10:45.950Z"},{"id": "greenhouse:duolingo:8806187002","ats": "greenhouse","company": "duolingo","company_name": "Duolingo","title": "Associate Product Manager, Intern","department": "University","team": null,"location": "Pittsburgh, PA","locations": ["Pittsburgh, PA","Pittsburgh, Pennsylvania, United States"],"country": null,"workplace_type": null,"remote": null,"employment_type": null,"experience_level": null,"salary_min": 54,"salary_max": 56,"salary_currency": "USD","salary_period": "hour","salary_text": "Hourly Range for this internship is:","posted_at": "2026-09-15T16:00:00.000Z","updated_at": "2026-09-15T17:20:27.000Z","requisition_id": "1267","description": "Our mission at Duolingo is to develop the best education in the world and make it universally available. It’s a big mission, and that’s where you come in!\nAt…","apply_url": "https://careers.duolingo.com/jobs/8806187002?gh_jid=8806187002","url": "https://careers.duolingo.com/jobs/8806187002?gh_jid=8806187002","scraped_at": "2026-09-17T20:10:45.951Z"},{"id": "greenhouse:duolingo:8625579002","ats": "greenhouse","company": "duolingo","company_name": "Duolingo","title": "Consumer Product Lead","department": "Marketing and Communications","team": null,"location": "Tokyo, Japan","locations": ["Tokyo, Japan","Remote"],"country": null,"workplace_type": "remote","remote": true,"employment_type": null,"experience_level": null,"salary_min": 171780,"salary_max": 257671,"salary_currency": "JPY","salary_period": "year","salary_text": "Salary Range:","posted_at": "2026-07-09T00:07:38.000Z","updated_at": "2026-07-29T13:16:34.000Z","requisition_id": "R-01174","description": "Our mission at Duolingo is to develop the best education in the world and make it universally available. It’s a big mission, and that’s where you come in!\nAt…","apply_url": "https://careers.duolingo.com/jobs/8625579002?gh_jid=8625579002","url": "https://careers.duolingo.com/jobs/8625579002?gh_jid=8625579002","scraped_at": "2026-09-17T20:10:45.953Z"},{"id": "greenhouse:duolingo:8576434002","ats": "greenhouse","company": "duolingo","company_name": "Duolingo","title": "Corporate Counsel","department": "Legal","team": null,"location": "Pittsburgh, PA","locations": ["Pittsburgh, PA","New York, New York, United States","Pittsburgh, Pennsylvania, United States"],"country": null,"workplace_type": null,"remote": null,"employment_type": null,"experience_level": null,"salary_min": 153000,"salary_max": 207000,"salary_currency": "USD","salary_period": "year","salary_text": "Salary Range:","posted_at": "2026-06-03T13:39:17.000Z","updated_at": "2026-07-28T17:29:31.000Z","requisition_id": "R-01156","description": "Our mission at Duolingo is to develop the best education in the world and make it universally available. It’s a big mission, and that’s where you come in!\nAt…","apply_url": "https://careers.duolingo.com/jobs/8576434002?gh_jid=8576434002","url": "https://careers.duolingo.com/jobs/8576434002?gh_jid=8576434002","scraped_at": "2026-09-17T20:10:45.954Z"},{"id": "greenhouse:figma:5579204004","ats": "greenhouse","company": "figma","company_name": "Figma","title": "Account Executive, Enterprise (Bengaluru, India)","department": "Sales","team": null,"location": "Bengaluru, India","locations": ["Bengaluru, India"],"country": null,"workplace_type": null,"remote": null,"employment_type": null,"experience_level": null,"salary_min": null,"salary_max": null,"salary_currency": null,"salary_period": null,"salary_text": null,"posted_at": "2025-07-22T03:53:16.000Z","updated_at": "2026-07-22T09:37:08.000Z","requisition_id": "1759","description": "Figma is growing our team of passionate creatives and builders on a mission to make design accessible to all. Figma’s platform helps teams bring ideas to lif…","apply_url": "https://boards.greenhouse.io/figma/jobs/5579204004?gh_jid=5579204004","url": "https://boards.greenhouse.io/figma/jobs/5579204004?gh_jid=5579204004","scraped_at": "2026-09-17T20:10:45.569Z"},{"id": "greenhouse:figma:5783812004","ats": "greenhouse","company": "figma","company_name": "Figma","title": "Account Executive, Enterprise (Berlin, Germany)","department": "Sales","team": null,"location": "Berlin, Germany","locations": ["Berlin, Germany","Berlin, DE"],"country": null,"workplace_type": null,"remote": null,"employment_type": null,"experience_level": null,"salary_min": null,"salary_max": null,"salary_currency": null,"salary_period": null,"salary_text": null,"posted_at": "2026-02-03T12:13:56.000Z","updated_at": "2026-07-22T09:37:08.000Z","requisition_id": "2117","description": "Figma is growing our team of passionate creatives and builders on a mission to make design accessible to all. Figma’s platform helps teams bring ideas to lif…","apply_url": "https://boards.greenhouse.io/figma/jobs/5783812004?gh_jid=5783812004","url": "https://boards.greenhouse.io/figma/jobs/5783812004?gh_jid=5783812004","scraped_at": "2026-09-17T20:10:45.574Z"},{"id": "greenhouse:figma:5753209004","ats": "greenhouse","company": "figma","company_name": "Figma","title": "Account Executive, Enterprise, Mandarin Speaking (Singapore)","department": "Sales","team": null,"location": "Singapore","locations": ["Singapore","Singapore, North, Singapore"],"country": null,"workplace_type": null,"remote": null,"employment_type": null,"experience_level": null,"salary_min": null,"salary_max": null,"salary_currency": null,"salary_period": null,"salary_text": null,"posted_at": "2026-01-13T06:12:25.000Z","updated_at": "2026-08-25T08:49:20.000Z","requisition_id": "2070","description": "Figma is growing our team of passionate creatives and builders on a mission to make design accessible to all. Figma’s platform helps teams bring ideas to lif…","apply_url": "https://boards.greenhouse.io/figma/jobs/5753209004?gh_jid=5753209004","url": "https://boards.greenhouse.io/figma/jobs/5753209004?gh_jid=5753209004","scraped_at": "2026-09-17T20:10:45.577Z"},{"id": "greenhouse:figma:5428656004","ats": "greenhouse","company": "figma","company_name": "Figma","title": "Account Executive, Enterprise (Paris, France)","department": "Sales","team": null,"location": "Paris, France","locations": ["Paris, France","Paris, Paris, France"],"country": null,"workplace_type": null,"remote": null,"employment_type": null,"experience_level": null,"salary_min": null,"salary_max": null,"salary_currency": null,"salary_period": null,"salary_text": null,"posted_at": "2025-01-28T13:48:46.000Z","updated_at": "2026-07-22T09:37:08.000Z","requisition_id": "1459","description": "Figma is growing our team of passionate creatives and builders on a mission to make design accessible to all. Figma’s platform helps teams bring ideas to lif…","apply_url": "https://boards.greenhouse.io/figma/jobs/5428656004?gh_jid=5428656004","url": "https://boards.greenhouse.io/figma/jobs/5428656004?gh_jid=5428656004","scraped_at": "2026-09-17T20:10:45.587Z"},{"id": "greenhouse:figma:5803515004","ats": "greenhouse","company": "figma","company_name": "Figma","title": "Account Executive, Enterprise (Sydney or Melbourne, Australia)","department": "Sales","team": null,"location": "Sydney, Australia • Melbourne, Australia","locations": ["Sydney, Australia • Melbourne, Australia","Sydney, Australia"],"country": null,"workplace_type": null,"remote": null,"employment_type": null,"experience_level": null,"salary_min": null,"salary_max": null,"salary_currency": null,"salary_period": null,"salary_text": null,"posted_at": "2026-02-18T02:22:34.000Z","updated_at": "2026-07-22T09:37:08.000Z","requisition_id": "2147","description": "Figma is growing our team of passionate creatives and builders on a mission to make design accessible to all. Figma’s platform helps teams bring ideas to lif…","apply_url": "https://boards.greenhouse.io/figma/jobs/5803515004?gh_jid=5803515004","url": "https://boards.greenhouse.io/figma/jobs/5803515004?gh_jid=5803515004","scraped_at": "2026-09-17T20:10:45.591Z"}]
In that run 184 of 237 jobs (78%) carried a published pay range, parsed into salary_min, salary_max, salary_currency and salary_period.
What people use it for
- Track who is hiring, and for what — e.g. "every new engineering role at my target accounts since yesterday" as a sales or recruiting signal. Set Posted within (days) to 1 and schedule it daily.
- Feed a job board, a newsletter or an AI agent with first-party jobs — e.g. "remote data roles from these 300 companies", without scraping aggregators.
- Benchmark pay and hiring plans — e.g. "published pay ranges and open headcount by department across my competitors".
Why not build it yourself
Building this yourself: the Greenhouse source, its pagination and quirks, HTML descriptions, pay formats, de-duplication between runs — a day of work, then upkeep each time a field changes. This Actor: $1.00 per 1,000 jobs, and when something changes we fix it within 48 hours. Every Apify account includes $5 of free usage a month, so your first 5,000 jobs cost nothing.
Founding price: $1.00 per 1,000 jobs for the first 100 users. It then rises to $1.50. Users who joined at the founding price keep it.
Proof
| Success rate (staging runs on Apify, 17–18 Sept 2026) | 100% — 3 runs, 6 requests, 0 failed attempts |
| Last verified against live boards | 2026-09-18 |
| Typical run | 235 jobs from 2 companies in 2 to 5 seconds |
| Issues answered within | 6 hours |
| Changes fixed within | 48 hours |
Changelog at the bottom of this page — every fix is dated.
What we deliberately do not collect
- No personal data. Recruiter names, mailboxes and creator fields are never read; e-mail addresses and phone numbers inside descriptions are replaced with
[email removed]/[phone removed]. - Public sources only: what the career page itself shows to any visitor. No logins, no candidate data, nothing behind authentication.
- Rate-limited: at most 5 requests a second.
- This Actor declares limited permissions — it can only write to its own dataset.
How to run it
- Click Run. The defaults read two sample boards.
- Replace them with your own Greenhouse career page URLs —
https://job-boards.greenhouse.io/duolingoorhttps://boards.greenhouse.io/duolingo— or list Companies by name (duolingo). Hundreds of companies per run are fine. - Narrow with Title keywords, Locations (
remote,berlin,united kingdom) and Posted within (days). Jobs that do not match are never saved and never charged. - Set Max rows to cap the run — that is also your spend cap.
- Download as JSON, CSV or Excel, or call it from the API or from an AI agent through the Apify MCP server. The
idfield is stable, so de-duplicating between runs is one line.
A company name that does not exist is reported in the log and skipped; it does not fail the run. Need several systems in one run (Greenhouse, Lever, Ashby, Workday, SmartRecruiters and seven more)? Use the Career Site Jobs Scraper below — same rows, same price.
Related Actors
- Career Site Jobs Scraper — the same rows from twelve career-page systems in one run
- France Travail Jobs Scraper — French public-service job offers with salary as numbers
Input reference
| Field | Default | Meaning |
|---|---|---|
startUrls | sample boards | Greenhouse career-page URLs |
companies | none | Company names as they appear in the career-page URL |
keywords | none | Keep jobs whose title contains one of these words |
locations | none | Keep jobs whose location, country or workplace type contains one of these |
postedWithinDays | none | Keep jobs published in the last N days |
includeDescription | true | Turn off for lighter rows |
maxItems | 500 | Stop after this many rows |
maxConcurrency | 5 | Parallel requests |
useProxy | true | Use Apify proxy (recommended) |
Changelog
- 2026-09-18 — v0.1 — first release. Verified against live boards on 17 and 18 September 2026.