Lever Jobs Scraper for Hiring Signal Data
Pricing
from $0.30 / 1,000 job postings
Lever Jobs Scraper for Hiring Signal Data
Export public Lever jobs with titles, teams, locations, URLs, descriptions, and timestamps for recruiting, sales signals, job boards, and hiring alerts.
Pricing
from $0.30 / 1,000 job postings
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 hours ago
Last modified
Categories
Share
Lever Jobs Scraper
Scrape public job postings from Lever-hosted company career pages and export clean hiring data for recruiting, lead generation, job-board ingestion, labor-market research, and workflow automation.
What does Lever Jobs Scraper do?
Lever Jobs Scraper collects public roles from companies that publish openings on Lever.
It accepts one or more Lever company slugs, such as spotify, and returns structured job records.
You can also paste full Lever board URLs such as https://jobs.lever.co/spotify.
The actor returns job titles, job IDs, application URLs, hosted URLs, locations, departments, teams, work type, descriptions, and timestamps.
Who is it for?
Lever Jobs Scraper is for teams that need current hiring data from public company career pages.
👔 Recruiters use it to monitor which companies are hiring and where headcount is growing.
📈 Sales teams use it to find companies expanding specific departments.
🧑💻 Job-board operators use it to import live roles from company career pages.
🔎 Labor-market analysts use it to compare hiring patterns across multiple companies.
🤖 AI agent builders use it to feed fresh job data into matching, alerts, and enrichment workflows.
Why use this actor?
Lever pages are widely used by startups, scale-ups, and larger technology companies.
Manual monitoring is slow when you need to watch dozens or hundreds of companies.
This actor turns public job pages into a normalized dataset that is easy to export, filter, and connect to other tools.
What data can you extract?
| Field | Description |
|---|---|
companySlug | Lever company slug supplied in the input |
jobId | Lever posting identifier |
title | Job title |
hostedUrl | Public Lever job page |
applyUrl | Application URL |
location | Job location category |
department | Department category |
team | Team category |
workType | Commitment or work type |
workplaceType | Remote, hybrid, or workplace category when available |
country | Country field when available |
createdAt | Posting creation time in ISO format |
descriptionPlain | Plain text description |
descriptionHtml | Optional HTML description |
lists | Structured sections from the posting |
additionalPlain | Additional plain text content |
scrapedAt | Time the actor saved the item |
How much does it cost to scrape Lever jobs?
The actor uses pay-per-event pricing.
There is a small start charge per run and a per-job charge for each job posting saved to the dataset.
For a typical company board with 100 jobs, the default target price is around $0.50 per 1,000 job postings before final tiered pricing is set on the Apify platform.
You can keep costs predictable by setting a low limit while testing.
How to use Lever Jobs Scraper
- Open the actor on Apify.
- Add one or more Lever company slugs.
- Set a maximum number of job postings.
- Optionally add department, team, location, or work-type filters.
- Run the actor.
- Download the dataset as JSON, CSV, Excel, XML, or HTML.
Input example
{"companySlugs": ["spotify", "netflix"],"limit": 50,"departments": ["Engineering"],"locations": ["Remote"],"includeDescriptionHtml": false}
Input options
companySlugs is required.
Use the slug from the Lever job board URL.
For https://jobs.lever.co/spotify, the slug is spotify.
limit controls the maximum number of jobs saved across all companies.
departments filters by Lever department category.
locations filters by partial location text.
teams filters by Lever team category.
workTypes filters by commitment values such as Full-time or Internship.
includeDescriptionHtml adds original HTML description fields when you need formatting.
Output example
{"companySlug": "spotify","jobId": "abc123","title": "Data Engineer","hostedUrl": "https://jobs.lever.co/spotify/...","applyUrl": "https://jobs.lever.co/spotify/.../apply","location": "New York","team": "Platform","department": "Engineering","workType": "Full-time","commitment": "Full-time","createdAt": "2026-06-20T00:00:00.000Z","descriptionPlain": "About the role...","scrapedAt": "2026-06-20T05:00:00.000Z"}
Tips for best results
✅ Start with one company slug and a small limit.
✅ Use company slugs exactly as they appear in the Lever URL.
✅ Use location filters like Remote, London, or New York for broad matching.
✅ Leave filters empty if you want the full board.
✅ Enable HTML descriptions only when your workflow needs formatted text.
Monitor Lever jobs for hiring signals
Track new roles at target accounts, watch hiring by team or location, and turn Lever postings into recruiting, sales, and labor-market signals.
Use companySlug, team, department, workType, URLs, and description fields to separate source-specific Lever data from generic job listings.
Common use cases
Track new roles at target accounts.
Build a job-alert feed for specific companies.
Monitor engineering hiring by location.
Create company expansion signals for sales outreach.
Collect clean job data for market maps.
Feed job descriptions into an AI matching workflow.
Export Lever jobs to Google Sheets, CRM, or API
Connect the dataset to spreadsheets, CRMs, warehouses, or the Apify API to keep hiring dashboards and lead workflows current.
Lever Jobs Scraper vs generic job scrapers
This actor is built for Lever boards: it supports multi-company monitoring, Lever slugs, source URLs, category filters, hosted/apply URLs, and Lever-specific team, department, work-type, and description fields.
Integrations
Connect the dataset to Google Sheets for a live hiring tracker.
Export CSV into a CRM to create account expansion alerts.
Use Apify webhooks to trigger Slack notifications when a run finishes.
Use Make or Zapier to route new jobs to downstream systems.
Use the Apify API to schedule daily or weekly company monitoring.
API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('fetch_cat/lever-jobs-scraper').call({companySlugs: ['spotify'],limit: 25});console.log(run.defaultDatasetId);
Python
from apify_client import ApifyClientclient = ApifyClient('MY-APIFY-TOKEN')run = client.actor('fetch_cat/lever-jobs-scraper').call(run_input={'companySlugs': ['spotify'],'limit': 25,})print(run['defaultDatasetId'])
cURL
curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~lever-jobs-scraper/runs?token=MY-APIFY-TOKEN' \-H 'Content-Type: application/json' \-d '{"companySlugs":["spotify"],"limit":25}'
MCP usage
You can use this actor from Claude Desktop, Claude Code, or other MCP clients through Apify MCP.
Use an MCP URL with the actor tool selected:
https://mcp.apify.com/?tools=fetch_cat/lever-jobs-scraper
Add it in Claude Code with:
$claude mcp add apify-lever-jobs --transport http "https://mcp.apify.com/?tools=fetch_cat/lever-jobs-scraper"
Claude Desktop JSON configuration example:
{"mcpServers": {"apify-lever-jobs": {"url": "https://mcp.apify.com/?tools=fetch_cat/lever-jobs-scraper"}}}
Example prompts:
- "Run the Lever Jobs Scraper for spotify and summarize engineering roles."
- "Check whether these target companies are hiring in London."
- "Export the latest Lever jobs for my sales account list."
Scheduling
Schedule this actor daily, weekly, or monthly from Apify Console.
For monitoring, use a small company list per run and keep limit aligned with your expected board sizes.
Use webhooks when you want a downstream process to start as soon as the dataset is ready.
Handling invalid or empty boards
If a company slug is invalid, the actor logs the failure and records it in the RUN-SUMMARY key-value store record.
If one slug fails but another succeeds, the run still completes and returns available jobs.
If every supplied slug fails, the run fails so you can notice the input problem.
If a valid company has no open jobs, the actor can finish with zero items.
Data quality notes
Lever company boards may use different department, team, and commitment values.
Some postings may omit optional fields such as country or workplace type.
Descriptions are returned as plain text by default.
HTML fields can be enabled for workflows that preserve formatting.
Legality
This actor extracts publicly available job postings.
You are responsible for using the data lawfully and respecting applicable terms, privacy rules, and data protection requirements.
Do not use scraped data for spam, discrimination, or unlawful profiling.
FAQ
Can I scrape multiple Lever companies in one run?
Yes. Add multiple values to companySlugs and set a limit that matches your expected volume.
What is a Lever company slug?
It is the part after jobs.lever.co/ in a Lever board URL.
For https://jobs.lever.co/spotify, use spotify.
Why did I get zero results?
The company may have no public roles, the filters may be too strict, or the slug may not be a Lever board slug.
Check the run log and RUN-SUMMARY record for failed slugs.
Can I include HTML job descriptions?
Yes. Set includeDescriptionHtml to true.
Can I use this as a Lever jobs API?
Yes. Run the actor through the Apify API or client libraries and read structured Lever job records from the dataset.
Can I monitor multiple Lever company boards on a schedule?
Yes. Add multiple company slugs, set a practical limit, and attach an Apify schedule for daily or weekly monitoring.
Can I use Lever job data with Apify MCP or Claude?
Yes. Use the MCP URL above to call this actor from MCP-compatible tools such as Claude Desktop or Claude Code.
What happens if a Lever company slug is invalid or has no open jobs?
Invalid slugs are logged and summarized in RUN-SUMMARY; valid boards with no open roles can finish with zero items.
Troubleshooting
If a slug fails, try opening the corresponding Lever jobs page in a browser and confirm it exists.
If filters remove too many rows, run once without filters and inspect the department, team, and location values in the dataset.
If your automation needs every field, export JSON rather than CSV so nested lists stay intact.
Related actors
Explore related Apify actors from fetch_cat for company hiring, recruiting, and job-market workflows:
Changelog
Initial version supports public Lever company job boards, multi-company inputs, global limits, category filters, optional HTML descriptions, and normalized job posting output.