Lever Jobs API: All Open Jobs from Any Lever Board
Pricing
from $1.00 / 1,000 job results
Lever Jobs API: All Open Jobs from Any Lever Board
Every open job from any Lever board (jobs.lever.co and EU) via the official public Postings API: team, department, commitment, workplace type, country, salary and structured requirement lists. Filters, only-new mode. $1 per 1,000 jobs.
Pricing
from $1.00 / 1,000 job results
Rating
0.0
(0)
Developer
Andrew Shamah
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 hours ago
Last modified
Categories
Share
Get every open job from any company that hires through Lever (Palantir, Spotify, Binance and thousands of startups) in clean JSON, CSV or Excel. It reads Lever's official, public Postings API, on both the global (jobs.lever.co) and EU (jobs.eu.lever.co) instances: no login, no browser, no proxies.
What makes it more than a generic job scraper:
- 🧩 Lever's own categories: team, department, commitment (Full-time, Intern, Contract…), workplace type (remote / hybrid / onsite) and ISO country, all filterable.
- 📋 Structured requirement lists. Lever postings are built from lists such as "What you'll do" and "What we're looking for". You get them as
sections: [{title, items[]}], ready for skills extraction or LLM pipelines. - 💵 Salary ranges from Lever's salary fields when the company sets them, the salary description text, and a fallback parser for ranges written in the description.
- 🇪🇺 EU instance detected automatically. Boards that live on
api.eu.lever.coare found with no extra input. - 📄 Automatic pagination, so boards with hundreds of jobs come back complete.
- 🔁 Only-new mode for daily alerts and monitoring.
Price: $1 per 1,000 jobs ($0.001 per job returned), plus a tiny start fee. Boards that fail are listed as free error rows, and you never pay for jobs your filters drop.
Who uses it
- Job boards and aggregators: keep listings for hundreds of Lever companies fresh with a daily schedule and
onlyNew. - Recruiters and sales teams: see who is hiring for which roles (hiring signals for outbound).
- Job seekers: get alerts for new roles at your target companies, filtered by title, location, remote and salary.
- Researchers and analysts: track hiring velocity, department mix and salary bands over time.
How to use it
- Add one or more Lever boards: a URL like
https://jobs.lever.co/palantir, or just the slug. - Optionally set filters (title keywords, location, department, remote, salary…).
- Run it, then download the dataset as JSON, CSV, Excel or HTML, or read it through the Apify API.
Finding the board slug
The slug is the part after the domain: jobs.lever.co/palantir or jobs.eu.lever.co/<company>. Paste either URL or just the slug; EU boards are detected automatically.
Not sure which ATS a company uses, or it uses Workable, SmartRecruiters, Recruitee, Personio, Teamtailor, BambooHR or Breezy? Use our multi-ATS Company Jobs API, which detects the ATS for you.
Input
| Input | What it does |
|---|---|
companies | Board URLs or slugs, one per line |
keywords / excludeKeywords | Title must contain any / none of these |
locations | Location, secondary locations or country contains any of these |
departments, teams | Department / team contains any of these |
employmentTypes, workplaceTypes, remoteOnly | Job type and remote/hybrid/on-site |
postedWithinDays | Posted or updated in the last N days |
onlyWithSalary, minAnnualSalary | Only jobs with a published salary, and/or a minimum annualized top of range |
onlyNew | Return only jobs not seen in your previous runs (for schedules and alerts) |
includeDescription, redactContacts | Full description text/HTML; emails and phones redacted by default |
maxJobsPerCompany, maxJobsTotal | Hard caps (also cap your cost) |
Example:
{ "companies": ["https://jobs.lever.co/palantir"], "keywords": ["engineer"], "remoteOnly": false, "onlyNew": true }
Output
One dataset item per job. Every item has the common fields ats, companySlug, company, jobId, title, location, locations, isRemote, postedAt, url, applyUrl, descriptionText, descriptionHtml, input, scrapedAt and error, plus these Lever-specific fields:
| Field | Description |
|---|---|
team, department, commitment (= employmentType) | Lever categories |
workplaceType, isRemote, country | remote / hybrid / onsite, ISO country code |
location, locations | Primary location and all locations |
sections | [{title, items[]}]: the posting's lists (responsibilities, requirements, benefits) |
openingText, descriptionText, descriptionHtml | The intro, and the full description |
salaryMin, salaryMax, salaryCurrency, salaryPeriod, salarySource, salaryDescription | Salary range and the salary text block |
leverInstance | global or eu |
postedAt, url, applyUrl | Created date, posting and application links |
Example item (shortened; values are illustrative):
{"ats": "lever", "companySlug": "palantir", "company": "palantir", "jobId": "6ed76ce8-…","title": "Site Reliability Engineer - US Government", "team": "Engineering", "commitment": "Full-time","workplaceType": "hybrid", "country": "US", "location": "Washington, D.C.", "isRemote": false,"sections": [{ "title": "Core Responsibilities", "items": ["…", "…"] }, { "title": "What We Require", "items": ["…"] }],"salaryMin": 125000, "salaryMax": 200000, "salaryCurrency": "USD", "salaryPeriod": "YEAR","leverInstance": "global", "postedAt": "2026-08-01T12:00:00.000Z", "url": "https://jobs.lever.co/palantir/…", "...": "..."}
The default key-value store also has a SUMMARY record with, for each board, the company name, open-job count, how many jobs were output, and a department breakdown.
Monitoring: only new jobs
Turn on onlyNew and schedule the Actor (for example daily). Job IDs are remembered in a named key-value store in your own account, keyed by your list of boards, so each run returns (and charges for) only postings you have not seen before. Connect a webhook, Slack, email or Zapier/Make integration to get alerts.
Speed and cost
About 1–3 seconds per 100 jobs. It runs on 512 MB by default; 256 MB is enough for most boards. Example: 10 companies × 150 jobs = 1,500 jobs ≈ $1.50.
FAQ
Is this allowed? Yes. It only reads the official public job-board API that Lever provides so companies' job listings can be shown on other sites. It doesn't log in or scrape candidate data. Contact details in descriptions are redacted by default.
Why did a board return 0 jobs? The board exists but has no open jobs right now (see SUMMARY), or your filters removed everything. A wrong slug returns a free error row explaining what was wrong.
Can I get jobs from many companies at once? Yes. Add as many boards as you like; they are processed one after another.
Is the salary converted to one currency? No. Salaries are returned exactly as published, with their currency and period. minAnnualSalary compares annualized amounts without converting currency.