Greenhouse & Lever Jobs Scraper | Structured JSON Export avatar

Greenhouse & Lever Jobs Scraper | Structured JSON Export

Pricing

$2.00 / 1,000 job results

Go to Apify Store
Greenhouse & Lever Jobs Scraper | Structured JSON Export

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.

Pricing

$2.00 / 1,000 job results

Rating

0.0

(0)

Developer

VER RR

VER RR

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Security

Limited permissions

Share

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: greenhouse or lever.
  • 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-co becomes Big Co).
  • title: job title.
  • location: location text as the board shows it, or null.
  • department: department (Greenhouse: first listed department, Lever: department), or null.
  • employmentType: for example Full-time. Lever publishes it. Greenhouse only publishes it on boards that add an employment-type custom field, so it is often null.
  • 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 always null for Lever.

Every record has all twelve keys. Missing values are null, never omitted.

Input

ParameterTypeRequiredDefaultDescription
boardsarray of stringsyes-Greenhouse board tokens or Lever company slugs (1 to 200). From boards.greenhouse.io/stripe use stripe, from jobs.lever.co/spotify use spotify.
sourcestringnoautoauto tries each board on Greenhouse and Lever and keeps the one that exists. greenhouse or lever skips the other lookup.
maxItemsintegerno1000Stop after this many jobs across all boards (1 to 100,000). Also your spending cap.

Pricing

Pay-Per-Event:

EventPrice
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 id values 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> or job-boards.greenhouse.io/<name> (Greenhouse) or jobs.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.

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.