Greenhouse & Lever Jobs Scraper avatar

Greenhouse & Lever Jobs Scraper

Pricing

$1.50 / 1,000 job scrapeds

Go to Apify Store
Greenhouse & Lever Jobs Scraper

Greenhouse & Lever Jobs Scraper

Read public job postings from Greenhouse- and Lever-hosted job boards via their official public APIs: 21 normalized fields per job, deduplicated, schema-validated.

Pricing

$1.50 / 1,000 job scrapeds

Rating

0.0

(0)

Developer

Jonathan D Battles

Jonathan D Battles

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Get every open job (set maxJobs; it defaults to 20 per run) from any company's Greenhouse or Lever careers page as clean JSON, CSV or Excel. $1.50 per 1,000 unique jobs; duplicates and empty rows are free. Built on the official public job-board APIs: no login, no proxies, no browser.

Who uses it

  • Recruiters and staffing agencies tracking which companies are hiring
  • Sales teams using new job posts as buying signals (e.g. a company hiring 5 data engineers)
  • Job boards and aggregators that need a clean, deduplicated feed
  • Analysts studying hiring trends, salaries and remote-work share

What it does

Reads public job postings from job boards hosted on Greenhouse and Lever through their official public job-board APIs (boards-api.greenhouse.io, api.lever.co) and returns one clean, 21-field record per job: title, company, locations, department, team, employment type, workplace type, salary, description (HTML and text), dates, URLs and metadata.

Why it is different

  • Pay only for unique, non-empty jobs. Duplicates, invalid rows and empty rows are free.
  • Every record is checked against the output schema before it is saved.
  • Polite by design: honours robots.txt, Crawl-delay, HTTP 429 and Retry-After; at most 1–2 requests per second per host. It stops and reports on any captcha; it never bypasses one.
  • If a host answers HTTP 429 with a Retry-After longer than our cap, that host is stopped for the rest of the run, which stops every board on that host (e.g. all boards.greenhouse.io boards). The stopped host is listed under blocked_hosts in the RUN_SUMMARY; rerun later for those boards.
  • Every run saves a RUN_SUMMARY (counts, latency p50/p95, failure modes, suggestions) and an EVIDENCE record to the key-value store.

Input

{ "boards": [{ "platform": "lever", "token": "leverdemo" },
{ "platform": "greenhouse", "token": "stripe" }],
"maxJobs": 20 }

token is the part after jobs.lever.co/ or boards.greenhouse.io/. Optional: includeDescription, fetchDetails (Greenhouse pay ranges, one extra request per job), concurrency, rateLimitStrategy (polite or balanced), outputFormat, errorPolicy.

How much does it cost to scrape Greenhouse and Lever jobs?

Pay per event: $0.0015 per unique, valid job ($1.50 per 1,000). Duplicates, invalid rows and empty rows are never charged. Example: 40 boards with about 50 open jobs each = 2,000 jobs = $3.00. Set a maximum charge on the run and the actor stops exactly at it.

Output example

{
"id": "greenhouse:stripe:6912345",
"source": "greenhouse",
"sourceJobId": "6912345",
"boardToken": "stripe",
"company": "Stripe",
"title": "Backend Engineer, Payments",
"url": "https://boards.greenhouse.io/stripe/jobs/6912345",
"applyUrl": null,
"locations": ["Dublin, Ireland"],
"country": null,
"department": "Engineering",
"team": null,
"employmentType": null,
"workplaceType": "hybrid",
"descriptionText": "...",
"postedAt": "2026-10-01T09:00:00Z",
"updatedAt": "2026-10-08T12:00:00Z",
"salary": null,
"metadata": {},
"scrapedAt": "2026-10-12T05:00:00Z"
}

(Illustrative values. Run the actor for live data.)

FAQ

Is it legal? Lever's Postings API docs state published postings "may be scraped by third parties". Greenhouse states its job-board data is public and needs no authentication for GET requests. The actor only reads public data, never submits applications, and never calls the /embed/ paths that Greenhouse's robots.txt disallows. You are responsible for how you use the data; employers' own careers-site terms may restrict republication. Not legal advice.

Is it affiliated with Greenhouse or Lever? No. It reads boards hosted on those platforms.

Does the output contain personal data? The actor does not extract personal-data fields (no recruiter names, emails or phone numbers are parsed into their own columns). However, the free-text job descriptions (descriptionText, descriptionHtml) are copied as the employer published them and may contain personal data, such as a recruiter's or hiring manager's name or email address. If you store or process that text, you are responsible for handling it lawfully under the GDPR, CCPA and other applicable privacy laws (for example: have a lawful basis, minimise or strip it if you don't need it, and honour deletion requests).