Greenhouse Jobs Scraper [Only $2.5/1K💰] | 2,000+ Boards avatar

Greenhouse Jobs Scraper [Only $2.5/1K💰] | 2,000+ Boards

Pricing

from $2.47 / 1,000 results

Go to Apify Store
Greenhouse Jobs Scraper [Only $2.5/1K💰] | 2,000+ Boards

Greenhouse Jobs Scraper [Only $2.5/1K💰] | 2,000+ Boards

Scrape job postings from 2,000+ Greenhouse-powered career boards in one run - title, company, location, department, full description & apply URL. Built for recruiters, HR-tech pipelines, job-board builders and hiring intelligence. Pay per result.

Pricing

from $2.47 / 1,000 results

Rating

0.0

(0)

Developer

Ahmed Jasarevic

Ahmed Jasarevic

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Greenhouse Jobs Scraper — Bulk Job Postings from 2,000+ Career Boards

Scrape job postings across thousands of startup career boards powered by Greenhouse (boards.greenhouse.io) in a single run — job title, company, location, department, full description HTML, apply URL and update timestamps, all normalized into one dataset. Built for recruiters, HR-tech aggregators, job-board builders, and salary/talent researchers.

Main Use Cases

  • Competitor & market hiring intelligence — track which companies are hiring, where, and in which departments
  • Startup job aggregation — feed thousands of Greenhouse-powered boards into your job board or ATS
  • Talent & salary research — collect titles, locations, departments, and descriptions at scale for benchmarks
  • Recruiter lead generation — identify growing companies and open roles across tech, fintech, and SaaS
  • HR-tech data pipelines — structured job rows with jobId, updatedAt, firstPublished for dedup and change tracking
  • Hiring velocity analysis — detect new postings and re-posts on a schedule (diff on jobId + updatedAt)

How It Works

The actor uses Greenhouse's official public Board JSON API (boards-api.greenhouse.io/v1/boards/{boardToken}/jobs?content=true) — one unauthenticated HTTP request per board returns all its jobs inline, including full HTML descriptions. No browser, no anti-bot handling, no per-job detail calls. You provide board tokens (the slug from boards.greenhouse.io/<token>) or full board URLs; each board's jobs are returned with a realistic User-Agent plus Accept: application/json.

Aggregate Thousands of Greenhouse Boards In One Run

Pass up to 2,000 board tokens (e.g. stripe, airbnb, coinbase) and collect every posting per board. Unknown or removed tokens return HTTP 404 and are skipped with a warning, so a run never fails because one company migrated off Greenhouse — companies like OpenAI are skipped automatically. Loop-safety caps (maxBoardsPerRun, maxJobsPerBoard, maxRequestsPerCrawl) keep runs predictable.

Build Job Data Pipelines Without the Harvest API

Greenhouse's Job Board API is public and keyless for read access, but it is per-company: you must know each board token and call each board separately — there is no bulk endpoint and no enumeration. The private Harvest API requires company credentials. This actor wraps the public API into a single bulk operation across thousands of boards with one normalized output schema, scheduling, proxy rotation, and dataset export.

Input

FieldTypeRequiredDefaultNotes
boardTokensarrayno["stripe", "airbnb"]Greenhouse board slugs from boards.greenhouse.io/<token>
boardUrlsarrayno[]Alternative: full board URLs; tokens are extracted automatically
includeDescriptionbooleannotrueFetch full posting HTML per job. Off = ~5x smaller responses
maxBoardsPerRunintegerno50Loop-safety cap on boards processed
maxJobsPerBoardintegerno1000Cap on jobs collected per board
maxRequestsPerCrawlintegerno200Overall request safety cap
useApifyProxybooleannotrueRoute through Apify proxy (recommended)
proxyConfigurationobjectno{"useApifyProxy": true}Advanced proxy settings

Output

One dataset item per job posting:

  • jobId — Greenhouse job ID (unique per board)
  • boardToken / company — board slug and company name
  • title, location, department, departments, offices
  • descriptionHtml, descriptionText — full posting body
  • applyUrl, jobUrl — canonical apply and board URLs
  • updatedAt, firstPublished — change-tracking timestamps
  • requisitionId, metadata — optional board-specific fields

Download as JSON, CSV, Excel, or HTML, or stream via the Apify API.

Example Input

{
"boardTokens": ["stripe", "airbnb"],
"includeDescription": true,
"maxBoardsPerRun": 50,
"maxJobsPerBoard": 1000
}

Fast listing mode (titles/locations/dates only, ~5x smaller):

{
"boardTokens": ["stripe", "coinbase"],
"includeDescription": false,
"maxBoardsPerRun": 100
}

Example Output

{
"jobId": 8172508,
"boardToken": "stripe",
"company": "Stripe",
"title": "Abuse Investigator",
"location": "Dublin",
"department": "8611 Security Analytics",
"departments": ["8611 Security Analytics"],
"offices": ["Ireland Locations"],
"descriptionHtml": "<h2><strong>Who we are</strong></h2> ...",
"descriptionText": "Who we are ...",
"applyUrl": "https://stripe.com/jobs/search?gh_jid=8172508",
"jobUrl": "https://boards.greenhouse.io/stripe/jobs/8172508",
"updatedAt": "2026-09-04T14:12:20-04:00",
"firstPublished": "2026-09-03T13:32:53-04:00",
"requisitionId": "See Opening ID",
"metadata": null
}

Integrations & Automation

  • Apify API — call from any app, script, or AI agent
  • Apify Schedules — run daily to detect new/updated postings (diff on jobId + updatedAt)
  • Webhooks — push jobs to Slack, ATS, CRM, or a database in real time
  • Export — JSON, CSV, Excel, HTML, XML

Recommended schedule: daily for hiring-velocity monitoring; weekly for full board aggregation snapshots.

FAQ

Why use this actor instead of the official Greenhouse API? Greenhouse's Job Board API is public and free to read, but it is per-company: you must know each board token and call boards one at a time — no bulk endpoint, no directory, no enumeration. This actor turns that into one run across up to 2,000 boards with a normalized output schema, scheduling, and exports. The private Harvest API needs company credentials and is not publicly accessible.

What are alternatives to Greenhouse for job-board aggregation? Other ATS hosts with public boards include Lever (jobs.lever.co), Ashby, and Workday; many also publish via job boards federation. For non-Greenhouse ATS data, Apify has dedicated scrapers for those platforms.

Do I need an API key to scrape Greenhouse job boards? No — the Job Board API GET endpoints require no authentication. A key is only needed to submit applications, which this actor does not do.

Does the Greenhouse API include salary data? Greenhouse's public API has no structured salary field. Pay information, when disclosed, appears only inside the description text. This actor returns raw descriptionHtml/descriptionText so you can parse compensation mentions yourself.

How do I find a company's Greenhouse board token? It's the slug in boards.greenhouse.io/<token> (or job-boards.greenhouse.io/<token>), usually the company name (e.g. stripe, airbnb). If a company's careers page is embedded on their own domain, check the embed script or the network tab for a call to boards-api.greenhouse.io.

Why is a board empty or missing? The token may be wrong, the board private/removed, or the company migrated off Greenhouse — those tokens 404 and are skipped with a warning. Check OUTPUT-SUMMARY in the key-value store for per-run counts.

How much does it cost to scrape Greenhouse jobs? Pay-per-result at $2.50 per 1,000 jobs plus $0.0005 per run start. One HTTP request fetches a whole board, so even hundreds of boards cost little compute.

For AI Agents & LLM Apps

Purpose: Given Greenhouse board tokens or board URLs, returns job postings (title, company, location, department, description, apply URL, timestamps) from Greenhouse-powered career boards.

Minimal working input:

{ "boardTokens": ["stripe"], "maxBoardsPerRun": 1 }

Variant inputs:

  • Fast listing mode: { "boardTokens": ["stripe", "airbnb"], "includeDescription": false }
  • URL mode: { "boardUrls": ["https://boards.greenhouse.io/coinbase"] }

Output fields: jobId, boardToken, company, title, location, department, departments, offices, descriptionHtml, descriptionText, applyUrl, jobUrl, updatedAt, firstPublished, requisitionId, metadata.

Behaviors an agent should know:

  • boardTokens and boardUrls both work; URLs are parsed to tokens automatically
  • Unknown/removed tokens return 404 and are skipped — they never fail the run
  • includeDescription: false returns ~5x smaller responses but drops descriptionHtml/descriptionText
  • Prefer firstPublished over updatedAt for "when was this posted" (updates bump updatedAt on any edit)
  • There is no structured salary field in Greenhouse data — compensation lives in the description text
  • Set maxBoardsPerRun / maxRequestsPerCrawl to bound cost on large token lists

Billing: pay-per-result — $0.0025 per job pushed to the dataset, plus $0.0005 per run start.

This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Greenhouse Software or any of the employers whose boards are scraped. It accesses only the publicly available Greenhouse Board API — no authentication, no private data, no application submission. Job postings belong to their respective employers; users are responsible for complying with each employer's terms and applicable law (e.g. GDPR where EU personal data is involved) when using or redistributing scraped job data.

SEO Keywords

greenhouse jobs scraper, scrape greenhouse jobs, greenhouse boards api, boards.greenhouse.io, greenhouse career boards data, scrape stripe jobs, airbnb job board, startup hiring data, hr tech job aggregation, job board builder data, competitor hiring intelligence, greenhouse job postings, tech jobs dataset, talent analytics, engineering jobs tracker, startup recruiting data, greenhouse ats data, scrape company job boards, apply url extraction, job posting monitoring, first published jobs, greenhouse.io careers, bulk job board scraper, job board api alternative, recruiting data pipeline