Greenhouse & Lever Jobs Scraper | Structured JSON Export
Pricing
$2.00 / 1,000 job results
Greenhouse & Lever Jobs Scraper | Structured JSON Export
Scrape job postings from any public Greenhouse or Lever careers board. One clean JSON record per job with company, title, location, department, employment type, full description text, posted and updated dates, and the apply link. Works from board names, no login and no proxy needed.
Scrape job postings from any public Greenhouse or Lever careers board and get one clean, identically shaped JSON record per job: company, title, location, department, employment type, full description text, posted and updated dates, and the apply link.
What data you get
id: the job's ID on its board (string, unique within a board and source).source:greenhouseorlever.board: the board token or company slug you entered, so you can group and re-query.company: company name. Greenhouse returns it; for Lever it is derived from the slug (big-cobecomesBig Co).title: job title.location: location text as the board shows it, ornull.department: department (Greenhouse: first listed department, Lever: department), ornull.employmentType: for exampleFull-time. Lever publishes it. Greenhouse only publishes it on boards that add an employment-type custom field, so it is oftennull.url: the public job page.description: the full posting as plain text (HTML removed, lists kept as-lines).postedAt: first publication date, ISO 8601 UTC.updatedAt: last update date, ISO 8601 UTC. Greenhouse only. Lever does not publish it, so it is alwaysnullfor Lever.
Every record has all twelve keys. Missing values are null, never omitted.
Input
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
boards | array of strings | yes | - | Greenhouse board tokens or Lever company slugs (1 to 200). From boards.greenhouse.io/stripe use stripe, from jobs.lever.co/spotify use spotify. |
source | string | no | auto | auto tries each board on Greenhouse and Lever and keeps the one that exists. greenhouse or lever skips the other lookup. |
maxItems | integer | no | 1000 | Stop after this many jobs across all boards (1 to 100,000). Also your spending cap. |
Pricing
Pay-Per-Event:
| Event | Price |
|---|---|
job-result | $2.00 per 1,000 jobs ($0.002 per job) |
You are charged once for each job saved to the dataset, and nothing else. Boards that do not exist, failed requests and jobs beyond maxItems are not charged.
Free plan: up to 100 jobs per run. When the cap is reached the Actor logs Free tier limit reached; upgrade for full export and finishes cleanly.
Sample output
Shortened description for readability; the real field holds the whole posting.
{"id": "30ccddec-5437-4eb3-9294-5ecd86996281","source": "lever","board": "rover","company": "Rover","title": "Business Analyst, Finance Analytics","location": "Seattle","department": "Accounting & Finance","employmentType": "Full-time","url": "https://jobs.lever.co/rover/30ccddec-5437-4eb3-9294-5ecd86996281","description": "Who we are:\nAt Rover, pets and their people are at the heart of everything we do. We connect pet parents with trusted pet care across the U.S., Canada, Europe, and Australia.\n...","postedAt": "2026-10-15T16:54:42.011Z","updatedAt": null}
Integrations
Call it from n8n, Make or Zapier with the Apify integration, or via the Apify API (replace VERRR with the Actor owner's username shown on this page's API tab):
curl -X POST "https://api.apify.com/v2/acts/VERRR~ats-jobs-scraper/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \-H "Content-Type: application/json" \-d '{ "boards": ["<board-name>"], "maxItems": 100 }'
Schedule it daily and compare id values with the previous run to find new postings, or watch updatedAt for changed ones.
Use cases
- Greenhouse jobs scraper for recruiting and sourcing pipelines: pull every open role of the companies you track.
- Lever jobs scraper for market research: count openings by department and location over time.
- Job board and aggregator feeds: normalized records from many companies with one input list.
- New-jobs alerts: run on a schedule and send fresh
idvalues to Slack, email or a spreadsheet. - Hiring-signal data for sales and investors: which companies are growing which teams.
Limits and FAQ
- Which systems are covered? Greenhouse and Lever, through their public job-board APIs. Workday and Ashby are not covered yet.
- How do I find a board name? Open the company's careers page. If the job links go to
boards.greenhouse.io/<name>orjob-boards.greenhouse.io/<name>(Greenhouse) orjobs.lever.co/<name>(Lever),<name>is what you enter. Careers pages on a company's own domain often embed one of these, and the job links show which. - What if a board name is wrong? The Actor logs a warning for that board and carries on with the others. If no board returns any job, the run fails with a clear message instead of reporting a silent empty success.
- Does it filter by keyword, location or date? No. It returns every open job on each board; filter the dataset afterwards.
- Does Lever's EU region work? Not yet. Only boards served from the main Lever API are supported.
- Do I need a proxy or login? No. Both APIs are public and unauthenticated.
- How big can a board be? Each board is fetched in a single request. Very large boards (thousands of postings, tens of MB) work but can take a couple of minutes.
- What if the API changes? This Actor is monitored weekly and repaired automatically.
Legal note
This Actor collects publicly available data only. You are responsible for using the output in compliance with applicable laws and the target site's terms.