Greenhouse Job Board Scraper (Official JSON API) avatar

Greenhouse Job Board Scraper (Official JSON API)

Pricing

$0.05 / 1,000 run starteds

Go to Apify Store
Greenhouse Job Board Scraper (Official JSON API)

Greenhouse Job Board Scraper (Official JSON API)

Reads the official boards-api.greenhouse.io JSON feed for one or more company slugs and exports one flat row per job posting with title, location, requisition ID, apply URL, and posting dates.

Pricing

$0.05 / 1,000 run starteds

Rating

5.0

(3)

Developer

Ahmed

Ahmed

Maintained by Community

Actor stats

3

Bookmarked

3

Total users

1

Monthly active users

2 days ago

Last modified

Share

Greenhouse Job Board Scraper

Reads the official boards-api.greenhouse.io JSON feed for one or more company slugs and exports one flat row per job posting — title, location, requisition ID, apply URL, and posting dates. Built for recruiters, sourcers, and job-board aggregators who need a clean, structured feed of every open role on a company's Greenhouse board without maintaining their own API integration.

Why this scraper

  • Reads the official JSON API rather than the HTML board page, so postings come back as structured fields (job ID, requisition ID, dates, GDPR flag) instead of text scraped off a rendered page — nothing to break when Greenhouse changes its page layout.
  • Charged once per run, not per job. A board with 500+ open roles (Stripe, Databricks) costs the same flat fraction of a cent as a board with 5 roles, instead of scaling with job count.
  • No login, no CAPTCHA, no browser rendering — it's a direct read of a public API endpoint, so there's nothing fragile in the pipeline between you and the data.

Output fields

FieldTypeDescription
job_idintegerGreenhouse job posting ID
titlestringJob title
company_namestringEmployer name as returned by Greenhouse
company_slugstringGreenhouse board token parsed from the input URL, e.g. stripe
locationstringFree-text location string for the posting
absolute_urlstringPublic apply/listing URL for the job
requisition_idstringCompany-internal requisition identifier
internal_job_idintegerGreenhouse internal job ID
updated_atstringISO timestamp the posting was last updated
first_publishedstringISO timestamp the posting first went live
application_deadlinestringApplication deadline if the company sets one, else empty
educationstringEducation requirement flag from Greenhouse
languagestringLanguage code of the posting
gdpr_consent_requiredbooleanWhether the posting's GDPR data_compliance entry requires applicant consent

Input

{
"startUrls": [
{ "url": "https://boards-api.greenhouse.io/v1/boards/stripe/jobs" }
],
"maxItems": 50
}

Add one object per company board to startUrls to pull multiple companies in a single run.

Output

{
"job_id": 8130725,
"title": "Account Executive, AI Startups (Hunter)",
"company_name": "Stripe",
"company_slug": "stripe",
"location": "San Francisco",
"absolute_url": "https://stripe.com/jobs/search?gh_jid=8130725",
"requisition_id": "See Opening ID",
"internal_job_id": 3520748,
"updated_at": "2026-08-19T14:02:07-04:00",
"first_published": "2026-08-19T14:02:07-04:00",
"application_deadline": "",
"education": "education_required",
"language": "en",
"gdpr_consent_required": false
}

Pricing

Pay per event: $0.00005 per run started (charged once, regardless of how many boards or jobs are in that run). Scraping a single company's full board, or several boards in one run, costs a fraction of a cent.

Use cases

  • Sourcers building a lead list of open roles at target companies for outbound recruiting.
  • Job-board aggregators syncing a Greenhouse-powered employer's listings into their own site on a schedule.
  • Talent teams tracking a competitor's hiring velocity by monitoring new first_published dates on their board over time.