Lever Jobs Scraper — Lever.co Job Board Postings, New & Closed
Pricing
from $0.40 / 1,000 jobs
Lever Jobs Scraper — Lever.co Job Board Postings, New & Closed
Lever jobs scraper: every open role on any company's public Lever job board — title, team, location, workplace type, commitment, posting date, full description — plus a hiring tracker: exactly which roles are new or closed since your last run. Official public API, no login.
Pricing
from $0.40 / 1,000 jobs
Rating
0.0
(0)
Developer
Northbell
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 hours ago
Last modified
Categories
Share
Lever Jobs Scraper
Know every week which roles your target companies opened and closed — without checking their careers pages. Put in the companies, schedule it, and get only the new roles (plus closed ones and a per-company count) from any company's public Lever job board. Exact, not sampled: the official public API returns every open role at once. No login, no cookies, no proxies.
Try it now — the input is already filled in. Press Start: the two example boards (Palantir and Spotify, 100 roles each at most in the example) return 182 roles in about 7 seconds, for about $0.10.
title | board | team | location | workplaceType | employmentType |
|---|---|---|---|---|---|
| Backend Software Engineer - Defense | palantir | Dev | Washington, D.C. | onsite | Full-time |
| Backend Software Engineer - Application Development | palantir | Dev | London, United Kingdom | hybrid | Full-time |
| Data Scientist - Music Mission | spotify | Music | New York, NY | remote | Permanent |
Every role carries the on-site / hybrid / remote setting the company sets in Lever — in this run 103 hybrid, 52 on-site and 27 remote roles out of 182, ready to filter. Lever shows pay only when the company fills it in (none of these 182 do). Scheduled, each run says which roles are new and which have closed.
Why the "new / closed" is exact here
Most job scrapers search a job site and get back a sample: run the same search twice and a different slice comes back, so "new since yesterday" is partly noise. A Lever board is different — the company's public API returns every open role at once. So this Actor keeps the list of role IDs from your last run and compares: a role that appears is new, a role that disappears has closed. No estimation.
Palantir's 318 open roles came back in one request.
What you get
| Field | |
|---|---|
title, department, team | as the company wrote them |
location, locations | the main location and every secondary one |
remote, workplaceType, employmentType | when the board provides them — otherwise null, not a guess |
salaryMin, salaryMax, salaryCurrency, salaryInterval | Lever only exposes a salary range when the company fills it in; many do not (0 of Palantir's 318). When it is missing you get null, never a guess. |
postedAt | the real publish date from the board |
isNewSinceLastRun | true / false, or null on the first run (unknown, not "old") |
description | full text, HTML stripped (turn off with Include the full description) |
jobUrl, applyUrl | links straight to the posting |
Closed roles come back as their own rows (type: "closed") with the title and when they were last seen. Each company also gets one free summary row (type: "company") with openRoles, newRoles, closedRoles and netChange — the hiring signal without counting rows yourself.
Input
Put the company's board name or careers-page URL in Companies — for example palantir or jobs.lever.co/palantir. Many companies in one run is fine and cheaper than one run each.
Optional filters (title, location, remote only, published salary only) narrow what you get back. They do not change the new/closed comparison, which always uses the full board — so changing a filter never makes roles look "closed".
A company that is not on Lever, or has no public board, comes back as an error row and the run carries on.
Example output
One real row from a test run (long text shortened here with …):
{"type": "job","provider": "lever","board": "palantir","jobId": "6ed76ce8-4156-4b60-b120-403538bd66cd","title": "Administrative Business Partner","companyName": null,"department": null,"team": "Administrative","location": "Singapore, Singapore","locations": ["Singapore, Singapore"],"workplaceType": "hybrid","remote": false,"employmentType": "Full-time","postedAt": "2026-08-11T17:38:11.368Z","updatedAt": null,"salaryMin": null,"salaryMax": null,"salaryCurrency": null,"salaryInterval": null,"salaryText": null,"jobUrl": "https://jobs.lever.co/palantir/6ed76ce8-4156-4b60-b120-403538bd66cd","applyUrl": "https://jobs.lever.co/palantir/6ed76ce8-4156-4b60-b120-403538bd66cd/apply","description": "A World-Changing Company\n \nPalantir builds the world’s leading software for data-driven decisions and operations. By bringing the right data to the people who n…","company": null,"isNewSinceLastRun": false}
Get only the new roles every morning (3 steps)
- Open this Actor in Apify Console, fill in your input, set What to return to Only … new since the last run, and click Save as a new task.
- On the task, add a Schedule — daily at 07:00, or weekly on Monday.
- Open the task's Integrations tab and connect Slack, email, Google Sheets (or Zapier / Make / a webhook). Each run then delivers only what is new.
You pay only for the new rows plus $0.01 per run, so a quiet day costs about a cent.
Pricing
Pay per role returned — $0.50 per 1,000 roles, plus $0.01 per run. Closed-role rows and errors are free.
**Measured, not estimated:** about **$0.0012 per 1,000 roles** of Apify platform usage at 512 MB, ~10 roles/s (319 roles in 31 s, 2026-10-06). That is our own running cost — already included in the per-role price; nothing is billed on top.Don't know which companies to watch? The Greenhouse Jobs Scraper searches 4,800 companies by job title — no company names needed — and reports exactly which matching roles are new or closed each run.
For AI agents
Call with {"companies": ["palantir"]}. Each row has type: job, closed or error. isNewSinceLastRun: null means "no previous run to compare with", not "old".
Filters on every run (10/2026): posted within the last N days, experience level (read from the title: intern → executive, also returned as a seniority column) and employment type. They only narrow what is returned — no extra requests, no extra cost.
Same core columns on every northbell job scraper (10 company-career-page scrapers + 15 job sites), so you can stack them into one table: jobId, title, company, location, remote (true / false / null), employmentType, postedAt, jobUrl, salaryMin, salaryMax, salaryCurrency, salaryInterval, isNewSinceLastRun. Unknown is null, never a guess.
Sister Actors
Greenhouse Jobs Scraper · Lever Jobs Scraper · Ashby Jobs Scraper · Workday Jobs Scraper · Workable Jobs Scraper · SmartRecruiters Jobs Scraper · Recruitee Jobs Scraper · Personio Jobs Scraper · Breezy HR Jobs Scraper — same fields, same exact change tracking, one per job-board provider.
For LinkedIn: LinkedIn Company Jobs Scraper · Free LinkedIn Job Details from URL.