Lever Job Listings API – Careers Board Scraper
Pricing
Pay per event
Lever Job Listings API – Careers Board Scraper
Scrape live job postings from any company's Lever board. Clean JSON per job with dedup, so scheduled runs only return newly-posted roles. For recruiters, ATS aggregators and hiring-signal feeds.
Pricing
Pay per event
Rating
0.0
(0)
Developer
K O
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Share
Lever Jobs Scraper – New Postings Feed API
Scrape live job postings from any company's Lever board and get one clean JSON record per role — title, location, team, commitment, workplace type, post date and a direct apply URL. Built-in deduplication means a scheduled run only returns newly-posted jobs, so you can wire it straight into a hiring-signal feed, a niche job board, or a sourcing tool.
Who uses it
Recruiters and sourcers, job-board and ATS aggregators, sales teams tracking a target account's hiring, labor-market analysts, and anyone building a "new roles at companies I follow" alert.
Why this is worth charging for
Lever exposes a public postings API, but you still have to know each company's handle, hit boards one at a time, and diff runs yourself to find what's actually new. This actor does all of that: pass a list of companies, get a normalized, deduplicated feed you can schedule.
Input
| Field | Description |
|---|---|
companies | One or more Lever company handles — the slug in jobs.lever.co/<handle> (e.g. ro). |
includeDescription | Include each posting's plain-text description. Off by default for lean records. |
onlyNewSinceLastRun | Recommended for schedules — skips jobs already returned by a previous run, so you're only charged for genuinely new postings. |
maxItems | Stop after this many normalized records. |
Output
Each dataset item is one normalized job:
{"jobId": "bde27362-0652-4d1a-bb8e-d6100ca20654","company": "ro","title": "Associate Director, Growth","location": "New York, NY","allLocations": ["New York, NY"],"department": "Growth","employmentType": "Full-time","remote": false,"workplaceType": "hybrid","country": "US","postedAt": "2026-03-11T02:22:42.892Z","url": "https://jobs.lever.co/ro/bde27362-0652-4d1a-bb8e-d6100ca20654","applyUrl": "https://jobs.lever.co/ro/bde27362-0652-4d1a-bb8e-d6100ca20654/apply","description": null,"source": "Lever"}
Pricing (Pay-Per-Event)
query— charged once per run for the board poll.job-record— charged per normalized job pushed. This is the primary event.apify-actor-start(Apify-managed) — covers baseline compute per run.
A daily monitor of a handful of companies returns a few new roles for pennies; a full-board pull of a large employer is a larger one-time run you control with maxItems.
Source & reliability
Data comes from Lever's public api.lever.co/v0/postings service. No API key, no proxy needed. Run npm test for the offline self-test covering the normalizer and its edge cases.
FAQ
Where do I find a company's Lever handle?
Open the company's Lever careers page — the handle is the slug in the URL, e.g. jobs.lever.co/ro → ro.
How does it avoid charging me for the same job twice?
With onlyNewSinceLastRun on (the default), the actor persists the ids it has already returned and skips them next run, so a schedule only bills for new postings.
SEO keywords: Lever jobs scraper, Lever postings API, job posting scraper, ATS scraper, new jobs feed, hiring signals, recruiting data API, job board aggregator