Greenhouse Jobs Scraper - Company Job Board API avatar

Greenhouse Jobs Scraper - Company Job Board API

Pricing

$3.00 / 1,000 job scrapeds

Go to Apify Store
Greenhouse Jobs Scraper - Company Job Board API

Greenhouse Jobs Scraper - Company Job Board API

Get every open job from any company job board hosted on Greenhouse, using the official public board API. Full descriptions as readable text, departments, offices, posting dates and direct apply links. Accepts a company domain — you never need to find the board token yourself.

Pricing

$3.00 / 1,000 job scrapeds

Rating

0.0

(0)

Developer

Kobkoon Janngam

Kobkoon Janngam

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

4 minutes ago

Last modified

Share

Greenhouse Jobs Scraper — Company Job Board API

Get every open job from any company hiring on Greenhouse. Built on the official public Job Board API (boards-api.greenhouse.io) — the same endpoint the company's own careers page calls — so there is no HTML to break and no login to keep alive.

Quick start: press Start with no configuration at all. It ships with Stripe and Databricks and returns their open roles immediately. Then paste in the companies you care about.

Sample output

companytitlelocationdepartmentpublishedAt
StripeAccount Executive, AI SalesSan Francisco, CAEnterprise Sales2026-02-03
StripeSoftware Engineer, PaymentsRemote - USEngineering2026-07-19

Every row also carries jobId, url, applyUrl, provider, boardSlug, team, employmentType, isRemote, workplaceType, additionalLocations, compensation, updatedAt, descriptionPreview, descriptionTruncated and descriptionChars.

Why this one

You do not need the board slug. Most Greenhouse scrapers want the board token out of the URL — something a buyer has to go and find. This one also accepts a plain company domain, derives the slug, and records in the run summary what it resolved to, so your first run hands you the right identifier for every later one.

Descriptions arrive readable. Greenhouse returns its job description as HTML wrapped in escaped entities — &lt;p&gt; rather than <p> — so a naive scraper hands you rows full of visible angle brackets. This one decodes twice, converts block tags to line breaks, and gives you plain text.

Remote is inferred honestly. Greenhouse has no remote flag; the location string is the only signal. isRemote is true when the location says so and null when it is unclear — never a guessed false, because inventing a negative is worse than admitting the source is silent.

Descriptions sized for an agent. The full posting text is cut to an 800-character preview with the true length reported in descriptionChars, keeping a row under 2 KB so an AI caller can hold a whole board in context. Set includeFullDescription when you want everything.

What you can do with it

  • Track a competitor's hiring. Schedule it with postedAfter set to yesterday and you get only the new openings — the cleanest public signal of where a company is investing.
  • Build a job board. Point it at a list of companies and you have a live, structured feed with direct apply links.
  • Source by market. remoteOnly plus locationContains narrows hundreds of roles to your patch.
  • Feed an AI agent. Rows are small, identically shaped, and carry a direct apply URL.

Input

FieldDefaultNotes
companiesStripe and DatabricksA boards.greenhouse.io URL, a company domain, or the board slug. Mix freely.
titleContainsemptyCase-insensitive partial match on the job title.
locationContainsemptyMatches secondary locations too.
departmentemptyMatches department or team.
remoteOnlyfalseKeep only remote roles.
postedAfteremptyYYYY-MM-DD. The most useful filter for a scheduled run.
includeFullDescriptionfalseFull posting text instead of a preview.
maxJobsPerCompany100Applied after filtering.

Passing a board URL from a different ATS is refused by name rather than quietly read as some other company that happens to share a slug. If you want that flexibility, use the ATS Jobs Scraper, which detects the provider for you.

How it works, and why it keeps working

This Actor reads the official public Job Board API (boards-api.greenhouse.io): public, keyless, and returning JSON. No HTML parsing, no login, no proxy. Greenhouse can redesign every careers page it hosts and this Actor keeps returning the same fields — which is why it is not on the maintenance treadmill that breaks most job scrapers.

Limits worth knowing before you buy

Greenhouse serves a board's entire job list in one response and does not paginate, so a very large board is one big request — Stripe's 592 open roles came to 4.5 MB with descriptions attached. maxJobsPerCompany caps what you are charged for, not what is downloaded.

The slug is derived from the domain, which is right far more often than not but not always. A company whose board is named differently needs its board URL or exact slug, and the run says plainly which entries did not resolve rather than returning a quiet empty result.

Pricing

Pay per job delivered, after filtering. A company with no matching openings charges you nothing.

Disclaimer

This is an unofficial tool. It is not affiliated with, authorised by, endorsed by, or in any way officially connected to Greenhouse Software or any company whose job board it reads. "Greenhouse" is a trademark of its respective owner.

It reads only the public, unauthenticated job-board API — the same endpoint a company's own careers page calls to render publicly advertised vacancies. It signs into nothing, stores no credentials, and returns nothing behind a login or a paywall. No candidate or applicant data is accessed; job postings are, by definition, published to be read.

Greenhouse can change or withdraw this endpoint at any time. When a board cannot be read, this Actor says which company and why rather than handing you an empty result that looks like an answer.