Greenhouse Public Job Boards by Company avatar

Greenhouse Public Job Boards by Company

Pricing

$0.20 / 1,000 greenhouse job listing extracteds

Go to Apify Store
Greenhouse Public Job Boards by Company

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.

Pricing

$0.20 / 1,000 greenhouse job listing extracteds

Rating

0.0

(0)

Developer

vøiddo

vøiddo

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

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 skipped reason in OUTPUT instead of failing.
  • Greenhouse returns the whole board in one response. maxJobsPerCompany caps 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.