Greenhouse Public Job Boards by Company
Pricing
$0.20 / 1,000 greenhouse job listing extracteds
Greenhouse Public Job Boards by Company
For each company slug at boards.greenhouse.io/<slug>, pull every public job posting via Greenhouse's free API. One row per role: title, location, departments, content (HTML+text), dates, role classification (eng/sales/marketing/…). No auth. For BD, recruiting intel, growth-signal tracking.
Pull every public job posting from any Greenhouse board (the ATS
behind boards.greenhouse.io/<company>). One row per role, with
title, location, departments, full description, and a coarse
role classification baked in. No auth, no scraping — Greenhouse
publishes a JSON API for this.
What you get
{"company": "stripe","companyName": "Stripe","jobId": 7532733,"internalJobId": 3336216,"title": "Account Executive, AI Sales","location": "San Francisco, CA","departments": ["Sales"],"offices": ["San Francisco"],"language": "en","requisitionId": "See Opening ID","firstPublished": "2026-05-15T10:14:00-04:00","updatedAt": "2026-06-01T20:09:17-04:00","applicationDeadline": null,"url": "https://stripe.com/jobs/search?gh_jid=7532733","role": "sales","contentHtml": "<p>Stripe is the financial infrastructure...</p>","contentText": "Stripe is the financial infrastructure...","textLength": 3210}
How to use
Input.
{"companies": ["stripe", "airbnb", "vercel", "shopify"],"includeContent": true,"maxJobsPerCompany": 5000}
The companies field takes Greenhouse slugs — the <slug> in
boards.greenhouse.io/<slug>. You can also paste full URLs; the actor
reduces them to slug.
Role classification. Every row carries a role field — one of
engineering, design, product, data, sales, marketing,
customer, operations, legal, hr, executive, or null
(unmatched). Derived from title keywords. Use it to filter a
30 000-row pull down to "just sales" in one column.
includeContent: false drops the HTML + text job description.
That cuts each row from ~10 KB to ~500 bytes — useful when you only
need title + location + dates.
Why this matters
Greenhouse hosts thousands of public boards including Stripe, Airbnb, Vercel, Shopify, OpenAI, Anthropic, Notion, Linear, and most YC companies. The API is public, no auth, but the normalized, role-classified, dataset-ready form is what this actor adds.
Built for:
- BD / sales prospecting. "Who's hiring sales reps right now?"
Filter
role == sales, group by company. - Growth-signal tracking. New job openings = team is growing = budget is approved = potential buyer.
- Recruiting intel. What roles are competitors hiring for? At what locations? What does the JD look like?
- Market sizing. How many companies are hiring for "AI engineer"?
Pricing
PAY_PER_EVENT · $0.001 per job_extracted · 1 000 jobs = $1.
Notes & limits
- No auth, no rate limit documented. The actor paces requests ~0.2 s between companies anyway.
- Boards that don't exist or are opted-out return 404; the actor
logs a
skippedreason in OUTPUT instead of failing. - Greenhouse returns the whole board in one response.
maxJobsPerCompanycaps after the fetch — useful for huge boards (Stripe = 400+ roles).
Source
https://boards-api.greenhouse.io/v1/boards/<company>/jobs?content=true
— Greenhouse's free public API, served the same way to candidates and
to scrapers.