Lever Jobs Scraper for Hiring Signal Data avatar

Lever Jobs Scraper for Hiring Signal Data

Pricing

from $0.30 / 1,000 job postings

Go to Apify Store
Lever Jobs Scraper for Hiring Signal Data

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

Hanna Nosova

Maintained by Community

Actor 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?

FieldDescription
companySlugLever company slug supplied in the input
jobIdLever posting identifier
titleJob title
hostedUrlPublic Lever job page
applyUrlApplication URL
locationJob location category
departmentDepartment category
teamTeam category
workTypeCommitment or work type
workplaceTypeRemote, hybrid, or workplace category when available
countryCountry field when available
createdAtPosting creation time in ISO format
descriptionPlainPlain text description
descriptionHtmlOptional HTML description
listsStructured sections from the posting
additionalPlainAdditional plain text content
scrapedAtTime 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

  1. Open the actor on Apify.
  2. Add one or more Lever company slugs.
  3. Set a maximum number of job postings.
  4. Optionally add department, team, location, or work-type filters.
  5. Run the actor.
  6. 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 ApifyClient
client = 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.

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.