Greenhouse Jobs Scraper avatar

Greenhouse Jobs Scraper

Pricing

from $0.80 / 1,000 jobs

Go to Apify Store
Greenhouse Jobs Scraper

Greenhouse Jobs Scraper

Scrape all open jobs from any Greenhouse career page — just type the company name. Fast, low-cost and clean: location, remote/hybrid, seniority, salary and skills in one consistent format. Monitor new jobs on a schedule.

Pricing

from $0.80 / 1,000 jobs

Rating

0.0

(0)

Developer

Tapaswai Ashok Choudhary

Tapaswai Ashok Choudhary

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

2 days ago

Last modified

Share

Get every open role from any Greenhouse career page — as a clean spreadsheet-ready dataset in seconds. Export to JSON, CSV or Excel, send to Google Sheets or your database, or call it as an API from your own app or AI agent.

Built for recruiters and sourcers, job boards and aggregators, sales teams tracking who's hiring, analysts studying the job market, and job seekers who want every new opening first.

Why this scraper

  • Fast. A typical company's whole board comes back in about a second; dozens of companies in well under a minute. No browser is started — the Actor reads the site's own data directly.
  • Costs almost nothing to run. It's a small native program that runs in 256 MB of memory, so the platform usage of a typical run is a fraction of a cent. You mostly pay for results, not for machine time.
  • Starts instantly. A tiny container means runs begin in seconds, and the always-on API mode (below) answers without any start-up wait.
  • Handles rate limits for you. When a site says “slow down” (HTTP 429), the Actor waits exactly as long as the site asks, then continues. Server hiccups, timeouts and dropped downloads are retried automatically, and request speed adapts to how the site responds.
  • Never loses or double-bills work. Results are saved as each company finishes. If the platform moves your run to another server, it continues where it stopped without charging twice. Set a maximum charge and it stops cleanly at your limit, keeping everything collected so far.
  • Clean, consistent data. Every job has the same fields — structured city/region/country with ISO code, remote/hybrid/on-site (only when the posting says so), employment type, seniority, years of experience, job function, skills, and salary converted to a yearly figure for easy comparison. The same format is used by all of our job scrapers, so you can mix sources in one table.
  • Simple to set up. Type company names (or paste their Greenhouse career-page links) and press Start. No API keys, logins, cookies or proxies needed.

How to use it

  1. In Companies, add each company's name as it appears in its Greenhouse jobs-page address — for boards.greenhouse.io/stripe or job-boards.greenhouse.io/stripe it's stripe. You can also paste the link itself (e.g. https://boards.greenhouse.io/stripe).
  2. Optionally narrow results with the Filters (title words, location, posted within N days, remote only).
  3. Press Start. Download the results from the Output tab, or connect an integration.

Example input

{
"companies": [
"stripe",
"figma"
],
"maxItems": 200,
"titleIncludes": [
"engineer"
],
"postedWithinDays": 30
}

What you get

Board-specific extras for Greenhouse: department, every office location, requisition id, full description.

FieldDescription
titleJob title
company / companySlugCompany name and its board handle
location / locationsLocation as listed, and every listed location
city / region / country / countryCodeStructured location (ISO country code)
workMode / remoteremote, hybrid or onsite — only when the posting says so
employmentTypefull_time, part_time, contract, internship, temporary, freelance
seniorityintern, junior, mid, senior, lead, principal, director, executive
yearsExperienceMin / yearsExperienceMaxRequired experience, when stated
jobFunctionEngineering, data, product, design, sales, marketing, AI training, …
skillsSkills named in the posting
salary{min, max, currency, period, annualMin, annualMax} when pay is published
educationLevel / visaSponsorshipDegree asked for, and visa sponsorship when stated
department / teamOrganization details, when available
summary / descriptionShort summary and full description
url / applyUrlPosting and apply links
postedAtIso / postedDaysAgoPosting date (ISO 8601) and its age in days
source / scrapedAtWhere the job came from and when it was collected

Board labels are translated into one vocabulary (for example FullTime, fulltime_permanent and Full-time all become full_time), and the original label is kept alongside so nothing is lost. Each run's summary also shows field coverage — what share of jobs carry each field.

Monitor new jobs on a schedule

Turn on Only new jobs and schedule the Actor (hourly, daily, weekly). Each run returns only postings earlier runs haven't delivered — you're charged only for new ones. Connect Slack, email, Google Sheets, Zapier, Make or a webhook to get them pushed to you automatically.

Use it as an instant API

The Actor also runs in Standby mode — an always-ready endpoint that returns jobs straight in the response, ideal for apps, spreadsheets and AI agents. Find the URL on the Standby tab:

curl "https://<standby-url>/?company=stripe&maxItems=20" \
-H "Authorization: Bearer <YOUR_APIFY_TOKEN>"

Any input field works as a query parameter, or POST the full input as JSON. The response is {"success": true, "count": 20, "items": [ … ]}.

Pricing

Pay per result: about $1 per 1,000 jobs (lower on higher Apify plans) plus a tiny start fee. Filtered-out, duplicate and (with Only new jobs) already-seen jobs are free. Because the Actor needs so little memory and time, platform usage stays close to zero. See the Pricing tab for exact rates, and set a maximum charge per run to cap spend.

On Apify's free plan each run returns up to 500 jobs — plenty to try everything. Any paid Apify plan removes the limit.

More job sources

Need several boards at once? Job Board Harvester — Multi-Platform combines all of them (and career-page links from any supported board) in one run, in the same format.

Single-board scrapers: Lever, Ashby, Workday, SmartRecruiters, Recruitee, Personio, Teamtailor, LinkedIn, Himalayas, AI training jobs.

FAQ

How do I find a company's name? Open its jobs page. On Greenhouse the address looks like boards.greenhouse.io/stripe or job-boards.greenhouse.io/stripe; the bold part is what to enter. Pasting the whole link works too.

Why did a company return no jobs? Either it has no open roles right now, or it doesn't use Greenhouse (many companies switch systems). The run's log names any company that couldn't be read.

Is it legal? The Actor collects publicly listed job postings. You're responsible for how you use the data — for personal data in descriptions, follow the laws that apply to you (e.g. GDPR).

Can I get the data in Excel or Google Sheets? Yes — export from the Output tab, or add the Google Sheets integration to fill a sheet automatically after every run.

Support

Found a problem or need a field that isn't there yet? Open an issue on the Issues tab with your input and what you expected — requests genuinely decide what gets built next.