Lever Jobs API - Career Page Scraper, Every Row Dated
Pricing
from $2.00 / 1,000 job results
Lever Jobs API - Career Page Scraper, Every Row Dated
Lever jobs API and career page scraper. Read live postings from any Lever job board or careers page, or search thousands of known Lever ATS boards in one run. Every row carries a real publish timestamp, so freshness filters mean what they say.
Pricing
from $2.00 / 1,000 job results
Rating
0.0
(0)
Developer
Sulle H
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Lever Jobs API — 1,917 Career Pages, Every Row Dated
Lever is an applicant tracking system used by technology and growth-stage employers, and its postings API is open. Every posting carries a real publish timestamp, which is not true of most platforms in this family.
Point it at a company, or leave the list empty and search a bundled registry of 1,917 live Lever career pages carrying 63,622 open postings.
{ "keywords": ["engineer"], "postedWithinDays": 7, "maxJobs": 200 }
{ "companies": ["https://jobs.lever.co/netflix"] }
No login, no cookies, no proxies, no API key.
Dates on every row
Measured across every live board in this registry — 46,005 postings from 1,880 boards:
| Field | Fill rate |
|---|---|
postedAt | 100% |
department | 99.7% |
descriptionText | 94.7% |
employmentType | 92.9% |
remote | 4.8% |
salary | 0% — Lever does not expose pay on this endpoint |
postedWithinDays works properly here. A 7-day window returns what actually appeared in the last
seven days, rather than keeping undated rows the way it has to on Workday, Rippling, Pinpoint and
BambooHR.
What you get
| Field | Description |
|---|---|
provider | Always lever — the same schema the multi-ATS Actors below emit |
company / companySlug | Employer board name |
jobId | Lever posting id — stable, so it works as a dedupe key across runs |
title | Job title |
location | Location as the employer entered it |
department | Lever's team field |
employmentType | Lever's commitment field — full-time, contract, intern |
remote | Inferred from the location string, because Lever has no remote field — see below |
postedAt | Publish timestamp, on every row |
applyUrl | Direct link to the posting |
descriptionText | Full posting text as readable plain text, on 94.7% of rows |
salary | Always null here. Lever does not publish pay on this endpoint |
scrapedAt | When this row was read |
Two honest limitations
No pay data. Lever's postings endpoint has no compensation field, so salary is null on
every row. That is the source, not the Actor. For pay, use Recruitee or Pinpoint (structured
numbers) or Ashby (a prose summary) — all linked below.
remote is a guess. Lever has no remote flag, so this Actor pattern-matches the location
string, and only 4.8% of rows come back marked. A role described as "Anywhere" or one whose
remoteness is only stated in the body text will be missed. Where the employer's own checkbox
matters, Ashby marks 85.1% of its rows and Recruitee marks 100%.
Input
| Option | What it does |
|---|---|
keywords | Keep only titles containing one of these. Case-insensitive. |
excludeKeywords | Drop titles containing any of these, e.g. senior, intern. |
locations | Keep only locations containing one of these. |
remoteOnly | Keep only postings whose location string says remote. See the caveat above. |
postedWithinDays | Freshness filter. Every Lever row has a real date, so this works properly. |
companies | Board names or board URLs. Leave empty to search all 1,917. |
maxBoards | How many boards to scan, largest-first. |
maxJobs | Hard cap on rows, so a run costs what you expect. |
Finding a company slug
The board lives at jobs.lever.co/<slug>, so the slug is the last path segment. Paste the whole URL
and the Actor extracts it. Or run without companies and read the companySlug column.
Recipes
A genuinely fresh feed. postedWithinDays: 1 run daily gives you yesterday's openings and
nothing else — the date is real, so the filter is real.
Watch a competitor's hiring. One slug on a schedule, diff jobId between runs. department
is present on 99.7% of rows, so you can see where they are growing, not just how much.
Full-text search. Descriptions come back as plain text on 94.7% of rows.
Pricing
Pay per result — you are charged per job row delivered. A board that fails or returns nothing costs you nothing. Platform usage is included rather than billed on top.
Beyond Lever
Companies move between applicant tracking systems, and most job-data projects need more than one:
- Career Site Job Feed — the same engine across every platform in this family, in one run, with an identical output schema.
- New Job Alerts — the same coverage, but each run returns only what appeared since the previous run.
- Ashby Jobs API — a real remote flag on 85.1% of rows, and more than half of postings marked remote.
Notes
- A dead slug never aborts the run. Failures land in a
FAILED_BOARDSrecord in the key-value store, with the reason for each. companySlug:jobIdis a stable key, safe for detecting what opened and closed between runs.- No login, no proxies, no API key. Lever publishes this endpoint openly.