Lever Jobs Scraper — Job Boards & Postings avatar

Lever Jobs Scraper — Job Boards & Postings

Pricing

$1.50 / 1,000 jobs

Go to Apify Store
Lever Jobs Scraper — Job Boards & Postings

Lever Jobs Scraper — Job Boards & Postings

Scrape Lever jobs from any Lever job board (jobs.lever.co) or company career site built on Lever. Every job posting with title, team, location, commitment, salary, posted date, full description and apply URL; filter by keyword, location or team. Monitor new job postings on a schedule.

Pricing

$1.50 / 1,000 jobs

Rating

0.0

(0)

Developer

Trevor Ortega

Trevor Ortega

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

an hour ago

Last modified

Categories

Security

Limited permissions

Share

Lever Jobs Scraper: Job Boards & Postings

Scrape Lever jobs from any Lever job board (jobs.lever.co) or company career site built on Lever. Paste board links, a single posting, or a company's careers page, and the Actor reads Lever's public postings API and returns one clean row per job posting: title, company, department and team, locations and country, remote / hybrid / on-site, commitment, salary range when the company publishes one, posted date, job and apply links, and the full description. Filter by keyword, location or team, and monitor new job postings on a schedule.

No login, no API key, no browser: it is the same JSON feed that companies use to embed their Lever job board on their own websites, so runs finish in seconds and cost a fraction of a cent per job. EU boards (jobs.eu.lever.co) are handled automatically.

Typical uses: job alerts for target companies, hiring signals for sales and recruiting (who is hiring which roles, where), salary benchmarking, and feeding a job board or an LLM pipeline with Lever job postings.

What data does Lever Jobs Scraper extract?

FieldDescription
jobId, atsJobIdStable unique id lever:<board>:<posting id> and Lever's own posting id
atsAlways lever (the row layout matches our Career Site Jobs Scraper, so the two can be mixed)
companyName, companySlug, careerSiteUrlCompany name as the board page shows it (e.g. "Octopus Energy Group"), board slug and board URL
titleJob title
department, teamLever's department and team categories (department falls back to the team)
location, locationsLocation as the company writes it, plus every location of multi-location postings
country, countryCodeISO country from Lever's own country field, or read from the location text
workplaceType, isRemote, isHybridremote / hybrid / onsite as the company set it in Lever (null when unspecified), plus flags
employmentTypeLever's commitment: Full-time, Part-time, Contract, Internship, Fixed Term Contract ...
seniorityLever's level category, when the company uses it
salaryText, salaryMin, salaryMax, salaryCurrency, salaryPeriod, salarySourcePay range from Lever's salary-range field (salarySource: "ats") or the first pay range written in the description ("description", e.g. "$164,000 - $261,500 annually")
postedAtWhen the posting was published (UTC, ISO 8601)
url, applyUrlPosting page and application form on jobs.lever.co
description, descriptionHtmlFull description (opening, body, bullet lists, closing section) as readable text and as HTML
sourceUrl, scrapedAtWhich input produced the job, and when
changeTypenew in monitoring mode (see below)

Lever's API does not name the company, so the Actor reads the name from the board page's title ("Octopus Energy Group" for octoenergy, "Palantir Technologies" for palantir); a name you pass with a slug ({"slug": "octoenergy", "companyName": "Octopus Energy"}) or the site name of the careers page the board was found on wins, and if the board page cannot be read the slug is written out ("Octoenergy").

How to scrape Lever jobs

  1. Paste URLs into Lever job board or careers page URLs: https://jobs.lever.co/palantir, https://jobs.lever.co/octoenergy, a single posting such as https://jobs.lever.co/palantir/6ed76ce8-4156-4b60-b120-403538bd66cd (the whole board is scraped), or a company careers page / homepage.
  2. Or list boards you already know under Lever company slugs: palantir, octoenergy, eu/acme for a board on Lever's EU instance.
  3. Optional filters: Title keywords, Locations, Departments / teams, Remote jobs only, Posted within (days), Max jobs per company, Max jobs (total).
  4. Click Start. Jobs appear in the Output tab, newest first per company; export JSON, CSV or Excel, or read them through the API.

Input example

{
"startUrls": [
{ "url": "https://jobs.lever.co/palantir" },
{ "url": "https://jobs.lever.co/octoenergy" }
],
"boards": ["eu/acme"],
"keywords": ["engineer", "product manager"],
"locations": ["London", "Remote"],
"postedWithinDays": 14,
"includeDescription": true,
"maxItemsPerCompany": 50,
"maxItems": 500
}

Output example

{
"jobId": "lever:palantir:bd7766c4-6aea-4b37-8d47-a8864bb9bd69",
"atsJobId": "bd7766c4-6aea-4b37-8d47-a8864bb9bd69",
"ats": "lever",
"companyName": "Palantir Technologies",
"companySlug": "palantir",
"title": "Finance Operator Intern",
"department": "Finance",
"team": "Finance",
"location": "New York, NY",
"locations": ["New York, NY"],
"country": "United States",
"countryCode": "US",
"isRemote": false,
"isHybrid": true,
"workplaceType": "hybrid",
"employmentType": "Internship",
"seniority": null,
"salaryText": "$135,000 - $200,000",
"salaryMin": 135000,
"salaryMax": 200000,
"salaryCurrency": "USD",
"salaryPeriod": "year",
"salarySource": "description",
"postedAt": "2026-10-31T00:15:34Z",
"url": "https://jobs.lever.co/palantir/bd7766c4-6aea-4b37-8d47-a8864bb9bd69",
"applyUrl": "https://jobs.lever.co/palantir/bd7766c4-6aea-4b37-8d47-a8864bb9bd69/apply",
"careerSiteUrl": "https://jobs.lever.co/palantir",
"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 need it, our platforms empower our partners to develop lifesaving drugs, ...",
"descriptionHtml": "<div><strong><span style=\"font-size: 18px;\">A World-Changing Company</span></strong></div> ...",
"sourceUrl": "https://jobs.lever.co/palantir",
"scrapedAt": "2026-11-01T18:50:18Z"
}

A posting whose company filled in Lever's salary-range field carries it as "salaryText": "€50,000 - 57,000 per year", "salaryMin": 50000, "salaryMax": 57000, "salaryCurrency": "EUR", "salaryPeriod": "year", "salarySource": "ats" (Octopus Energy, Senior Financial Accountant); the Palantir example above has its range read from the description text instead.

Which Lever URLs work?

  • Board: https://jobs.lever.co/<company> and https://jobs.eu.lever.co/<company> (Lever's EU instance). If a company moved to the EU instance, the Actor finds that out by itself.
  • Posting: https://jobs.lever.co/<company>/<posting id> or its /apply page: the whole board is scraped, use the filters to narrow it.
  • API: https://api.lever.co/v0/postings/<company> links copied from an embed script.
  • Company website: a careers page or homepage. The Actor opens it, looks for Lever links, iframes and embed scripts, follows the "Careers" / "Jobs" link and tries /careers and /jobs (at most 4 pages). The run's SUMMARY (Storage → Key-value store) lists, per input, which board was found and where; sites without a Lever board are reported there and skipped, at no charge.

Wrong or expired slugs are reported in SUMMARY.notes.boardsNotFound. A board that returns no postings at all (Lever answers an empty list for some unknown slugs) shows listed: 0 for that company.

Does it need a login or API key?

No. Lever publishes every public job board through its unauthenticated postings API so companies can show their jobs on their own websites; the Actor reads that feed and nothing else. No account, no API key, no cookies, no browser. Internal or unlisted postings, candidate data and anything behind a login are never touched.

Monitor new Lever jobs on a schedule

Turn on Only new jobs (monitoring) and save the input as a task with a Schedule (Apify Console → Schedules), e.g. every morning. Each run remembers the jobs that earlier runs of the same input returned and outputs only postings that are new since then, with changeType: "new"; jobs seen before are not output and not charged. With Max jobs per company, monitoring watches that many newest postings per board. Use Monitoring key to keep several schedules on the same companies apart. This is the cheapest way to get job alerts or hiring signals for a list of companies that hire through Lever.

Pricing

Pay per event, no subscription: $0.0015 per job saved, every field above and the full description included. Platform usage is included in that price, so 1,000 Lever jobs cost $1.50 and nothing else. Monitoring runs charge only for new jobs; inputs that point to no Lever board cost nothing.

Proxy note

Lever's API is public, so the Actor connects to it directly (no proxy), which is also by far the fastest: through a datacenter proxy the same API streams very slowly. A proxy you configure is used only to open company careers pages. No residential proxy and no Unblocker are ever needed.

Integrations and API

Use the results in Make, Zapier, n8n, Google Sheets, Airtable or your CRM, or call the Actor from Python / Node.js with the Apify client (see the API tab). A Schedule plus monitoring gives you a daily feed of new postings at the companies you follow.

The Actor reads only job postings that companies publish openly on their Lever job boards through Lever's public postings feed. It does not log in, does not collect candidate or employee data, and does not access anything hidden or internal. Recruiter names that a company chooses to print in a posting stay part of that description. You are responsible for how you use the data and for complying with the sites' terms and applicable law (e.g. the GDPR).

Support

A board that does not work, a missing field, another ATS? Open an issue in the Issues tab; it is usually answered within a day. Greenhouse, Ashby, Workday, Workable, SmartRecruiters, Recruitee, Personio and Teamtailor boards are covered by our Career Site Jobs Scraper, which returns the same row layout.

Found it useful?

A ★ review on this Actor's Apify Store page helps other users find it and tells us what to improve. Issues and feature requests are welcome in the Actor's Issues tab.