Lever ATS Jobs Scraper – Scrape Lever.co avatar

Lever ATS Jobs Scraper – Scrape Lever.co

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Lever ATS Jobs Scraper – Scrape Lever.co

Lever ATS Jobs Scraper – Scrape Lever.co

Unofficial Lever.co API: scrape Lever ATS job postings and salary data without an API key, export to CSV/JSON. No login, global + EU instances.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Logiover

Logiover

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

2 days ago

Last modified

Share

Lever ATS Jobs Scraper — Scrape Lever.co Postings, Salary & Descriptions (No API)

Lever Postings Scraper

Apify Actor No API key Pay per result Jobs Export

Scrape job postings, structured salary data, workplace type and full descriptions from any company that hires through the Lever ATS. Point this Lever scraper at one or more jobs.lever.co/{company} boards and it returns clean, normalized records with title, team, location, workplace type, salary range, apply links & full job descriptions — ready to export to CSV, JSON or Excel. Works across thousands of Lever-powered career pages (Netflix, Spotify, Shopify, Mixpanel, Lyra Health, Reddit and more), supports both the global and EU Lever instances, and exposes Lever's native server-side filters plus extra client-side filtering. Fast, no browser, no API key, no login.

🏆 Why this Lever scraper?

20+ fields per posting · all open roles from a board in one call · direct HTTP + JSON (no browser) · native Lever server-side filters + client-side salary/country/workplace filters · global + EU instances · export to JSON / CSV / Excel. The unofficial Lever Postings API alternative for recruiting, salary benchmarking and job-aggregator ingestion.


✨ What this Actor does / Key features

  • 🧩 Whole boards or single postingsjobs mode lists every open role from a board; jobDetail mode fetches specific postings by UUID with full descriptions and structured lists.
  • 🏢 Thousands of Lever companies — any account on jobs.lever.co/{company} works: Netflix, Spotify, Shopify, Mixpanel, Lyra Health, Reddit and countless startups & scale-ups.
  • 🌍 Global + EU instances — switch between global (api.lever.co) and eu (api.eu.lever.co) so you can reach European-only employers that 404 on the global endpoint.
  • 💰 Structured salary data — disclosed compensation is normalized into salaryMin, salaryMax and salaryCurrency, plus a client-side minimum-salary filter to drop undisclosed roles.
  • Fast server-side filters — Lever-native team, department, location, commitment, level, limit, skip and group are applied by Lever's servers before data is transferred.
  • 🎯 Extra client-side filters — narrow by title keywords, workplace type (on-site / remote / hybrid), ISO country code and minimum disclosed salary — criteria Lever can't filter on natively.
  • 🗺️ Rich location data — primary location, allLocations, ISO 3166-1 alpha-2 country and workplaceType for every posting.
  • 📝 Full descriptions — in jobDetail mode, get fullDescriptionPlain plus structured lists (requirements, responsibilities, benefits) and disclosed salary description.
  • 🔗 Public linkshostedUrl (public listing) and applyUrl (direct apply link) for every role.
  • 🚀 Direct HTTP + JSON extraction — reads Lever's public postings endpoints; no headless browser, no DOM walking, no auth token.
  • ⚙️ Batch-friendly — fetch multiple sites in parallel with adjustable concurrency and per-site result caps for cost control.

🚀 Quick start (3 steps)

  1. Configure — pick a Mode (jobs), add one or more Lever sites (the {company} from jobs.lever.co/{company}, e.g. leverdemo), and choose the Instance (global or eu). Add filters if you want.
  2. Run — click Start. The Actor calls Lever's postings endpoint once per site and streams normalized postings into your dataset.
  3. Get your data — open the Output tab and export to JSON, CSV, JSONL, Excel or XML, or pull it via the Apify API.

📥 Input

Give the Actor a Mode and at least one Lever site. Everything else is optional. Try leverdemo as a guaranteed-working smoke test.

Example — all postings from a company board

{
"mode": "jobs",
"sites": ["leverdemo"],
"instance": "global"
}

Example — remote engineering roles with disclosed salary

{
"mode": "jobs",
"sites": ["mixpanel"],
"instance": "global",
"team": ["Engineering"],
"filterWorkplaceTypes": ["remote"],
"filterSalaryMin": 100000
}

Example — multiple companies, US-only, full-time

{
"mode": "jobs",
"sites": ["leverdemo", "mixpanel", "lyrahealth"],
"instance": "global",
"commitment": ["Full Time"],
"filterCountries": ["US"],
"concurrency": 5,
"maxResultsPerSite": 200
}

Example — deep detail for specific postings (jobDetail mode)

{
"mode": "jobDetail",
"sites": ["leverdemo"],
"instance": "global",
"jobIds": ["5ac21346-8e0c-4494-8e7a-3eb92ff77902"]
}
FieldTypeDescription
modestringjobs (list all postings, one call per site) or jobDetail (fetch single postings by ID). Required.
sitesarrayOne or more Lever site names — the {company} in jobs.lever.co/{company}. Case-sensitive. In jobDetail mode only the first site is used.
instancestringglobal (api.lever.co) or eu (api.eu.lever.co). Switch to eu if a company 404s on global.
jobIdsarrayPosting UUIDs to fetch. Required when mode = jobDetail. E.g. 5ac21346-8e0c-4494-8e7a-3eb92ff77902.
teamarrayServer-side Lever filter. Case-sensitive (Engineering, not engineering). Multiple values OR'ed.
departmentarrayServer-side Lever filter on department / org unit. Case-sensitive.
locationarrayServer-side Lever filter. Case-sensitive. E.g. San Francisco, Remote - US.
commitmentarrayServer-side employment-type filter: Full Time, Part Time, Internship, Contract.
levelarrayServer-side seniority filter. Customer-defined values (Senior, Junior, Director).
limitintegerLever's native ?limit= — caps postings the server returns per board. 0 = no cap.
skipintegerLever's native ?skip= — pagination offset; skip N postings before returning.
groupstringLever's native ?group=: none, team, commitment or location.
filterTitleKeywordsarrayClient-side: keep only postings whose title contains any keyword (case-insensitive).
filterWorkplaceTypesarrayClient-side: keep only on-site, remote, hybrid or unspecified roles.
filterCountriesarrayClient-side: keep only postings matching these ISO 3166-1 alpha-2 codes (US, GB, DE).
filterSalaryMinintegerClient-side: keep only postings with salaryRange.min ≥ this. Undisclosed-salary roles are dropped. 0 = disabled.
maxResultsPerSiteintegerHard cap applied after all filters. 0 = unlimited. Useful for testing / cost control.
concurrencyintegerHow many sites to fetch in parallel (1–20). 5 is a safe default.

Finding a company's Lever handle: open the company's careers page. If the URL looks like https://jobs.lever.co/mixpanel, the handle (site) is mixpanel. Many companies also link out from a "View all jobs" button that lands on their jobs.lever.co board. If a known Lever company returns 404 on global, switch Instance to eu.

📤 Output

One row per posting — exportable to JSON, CSV, JSONL, Excel or XML. Here is a trimmed sample record from jobs mode:

{
"_mode": "jobs",
"site": "leverdemo",
"instance": "global",
"id": "5ac21346-8e0c-4494-8e7a-3eb92ff77902",
"title": "Senior Backend Engineer",
"team": "Engineering",
"department": "Product Engineering",
"location": "San Francisco, CA",
"allLocations": ["San Francisco, CA", "Remote - US"],
"workplaceType": "hybrid",
"country": "US",
"commitment": "Full Time",
"level": "Senior",
"salaryMin": 160000,
"salaryMax": 210000,
"salaryCurrency": "USD",
"createdAtIso": "2026-06-28T15:42:11.000Z",
"hostedUrl": "https://jobs.lever.co/leverdemo/5ac21346-8e0c-4494-8e7a-3eb92ff77902",
"applyUrl": "https://jobs.lever.co/leverdemo/5ac21346-8e0c-4494-8e7a-3eb92ff77902/apply",
"scrapedAt": "2026-07-06T12:00:00.000Z"
}

💡 Use cases

  • Recruiting & sales leads — build a list of companies actively hiring through Lever, segmented by team, location or workplace type.
  • Salary benchmarking — collect disclosed pay ranges across many Lever boards for compensation research, using salaryMin / salaryMax and the minimum-salary filter.
  • ATS jobs export — mirror a specific company's open roles into your own ATS, CRM or spreadsheet.
  • Job aggregator ingestion — feed thousands of fresh, structured Lever postings into a job board or app.
  • Hiring-trend analytics — track headcount signals (new roles per team, remote vs. on-site mix) over time by re-running on a schedule and diffing on createdAtIso.
  • Talent-market mapping — pass multiple sites in one run to compare open roles across competitors.

👥 Who uses it

Recruiters & talent-acquisition teams · staffing & RPO agencies · sales teams doing hiring-signal prospecting · compensation & people-analytics teams · job boards and aggregators ingesting fresh postings · market researchers & data journalists tracking hiring trends · founders benchmarking roles and pay against peer companies.

💰 Pricing

This Actor runs on a simple pay-per-result model — you pay for the postings you extract, with no separate Apify platform fees to calculate. Try it on the free tier first, then scale up. See the Pricing tab on this page for the current rate.

❓ Frequently Asked Questions

Is it legal to scrape Lever.co? The Actor only collects publicly available job posting data from public jobs.lever.co career pages. You are responsible for using the data in compliance with Lever's terms and applicable laws such as GDPR.

Does Lever have a public API? Is this a Lever Postings API alternative? Lever exposes a public postings endpoint per company board, but it is raw and unnormalized. This Actor reads those public endpoints directly and returns clean, normalized records with structured salary, workplace type and country fields — giving you an unofficial Lever Postings API alternative with no key, token or official API access required.

Can I scrape Lever jobs without an API key or login? Yes. The Actor uses pure HTTP against public Lever ATS career pages — no API key, no login, no auth token and no headless browser are required. You only need an Apify account.

How do I find a company's Lever handle (site)? It is the company account name in the board URL: https://jobs.lever.co/{site}. For example, the site for https://jobs.lever.co/mixpanel is mixpanel. Open a company's careers page and check whether it redirects to a jobs.lever.co URL — the segment after the slash is the handle.

Why am I getting 404s for a company? That company is most likely on Lever's EU instance. Switch the Instance input from global to eu (api.eu.lever.co) and re-run.

Can I get salary data from Lever? Yes, when the employer discloses it. Postings carry structured salaryMin, salaryMax and salaryCurrency fields, and you can drop unpaid/undisclosed roles with the filterSalaryMin filter.

How do I export Lever job postings to CSV or JSON? Run the Actor on your Lever sites, then download the dataset in CSV, JSON, JSONL, Excel or XML from the run — or fetch it through the Apify API.

How much data can I get? jobs mode returns every open posting on a board in a single call, and you can batch many companies per run. Use limit / skip for Lever-native pagination and maxResultsPerSite to cap output for testing or cost control.

How do I scrape all engineering jobs from a company's Lever board? Enter the company's Lever site name, set the team filter to Engineering (case-sensitive) and run — the Actor returns every matching posting with location, workplace type and salary when disclosed.

How do I get only remote jobs with disclosed salaries from Lever? Set filterWorkplaceTypes to remote and filterSalaryMin above zero; postings without a remote workplace type or a disclosed salary are dropped, leaving a clean remote, paid job list.

What's the difference between jobs and jobDetail mode? jobs lists all postings from each board (one call per site) with the core fields. jobDetail fetches specific postings by UUID and adds the full description (fullDescriptionPlain) and structured lists such as requirements and responsibilities.

🔗 More job scrapers by logiover

Building a hiring dataset across ATS platforms and job boards? Pair the Lever scraper with the rest of the jobs suite:

SourceActor
🧩 Greenhouse ATSGreenhouse Job Board Scraper
🇩🇪 ArbeitnowArbeitnow Jobs Scraper
🌐 IndeedIndeed Jobs Scraper
💼 The MuseThe Muse Jobs Scraper
🏠 RemoteOKRemoteOK Remote Jobs Scraper
🌍 RemotiveRemotive Remote Jobs Scraper
⛰️ HimalayasHimalayas Remote Jobs Scraper
🇫🇷 Welcome to the JungleWelcome to the Jungle Jobs Scraper
🇦🇺 SEEKSEEK Jobs Scraper
🇩🇪 StepStoneStepStone.de Jobs Scraper
🧵 JobicyJobicy Remote Jobs Scraper
🗞️ HN "Who is hiring?"Hacker News Who Is Hiring Scraper

👉 Browse all logiover scrapers on Apify Store — 180+ actors across real estate, jobs, crypto, social media & B2B data.

⏰ Scheduling & integration

Schedule this Actor on Apify to track Lever hiring daily or weekly. Export results to JSON, CSV or Excel, sync to Google Sheets, or push to your database, BI tools and webhooks through the Apify API. Connect it to Make, n8n or Zapier to build automated recruiting, sourcing and hiring-analytics pipelines.

⭐ Support & feedback

Found a bug or need an extra field? Open an issue on the Issues tab — response is usually fast. If this Actor saves you time, a ★★★★★ review on the Store page genuinely helps and is hugely appreciated. 🙏

This Actor extracts only publicly available data and is intended for legitimate recruiting, research, analytics and lead-generation use. You are responsible for complying with Lever's terms of service, GDPR and any applicable local laws.


📝 Changelog

2026-07-06

  • ✨ README overhaul: richer output sample, ready-to-run example scenarios, cross-promo links to related logiover scrapers, and clearer quick-start.

2026-07-01

  • Maintenance pass: re-verified end-to-end on live data and confirmed successful runs within the 5-minute quality window on the default input.
  • Sharpened Store metadata (SEO title & description) and expanded the FAQ with high-intent, long-tail questions for easier discovery in Google and Apify Store search.
  • Added ready-to-run example tasks that cover common real-world use cases.

2026-06-15

  • Reliability pass: re-verified end-to-end on live data with real-world inputs. Routine maintenance build.

2026-06-07

  • Docs: added coverage for using this as an unofficial Lever.co API, exporting Lever job postings to CSV/JSON, and scraping Lever jobs without an API key or login.