Lever Job Scraper avatar

Lever Job Scraper

Pricing

$0.30 / 1,000 unique job results

Go to Apify Store
Lever Job Scraper

Lever Job Scraper

Lever job scraper for published jobs from the public Lever boards you provide. Get stable job rows, content, filters and a clear run report.

Pricing

$0.30 / 1,000 unique job results

Rating

0.0

(0)

Developer

Cliqto Media

Cliqto Media

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Lever job scraper for published jobs from one or more public Lever company boards. Add a board slug, a board URL, or one exact job URL. The Actor saves one JSON row per unique job and writes a run report that explains each target.

What you get

  • Job title, location, all locations, department, team and commitment.
  • Workplace type, country, creation time and direct job links when published.
  • The public job description in HTML and plain text, plus list sections.
  • Salary fields only when the employer publishes them.
  • One row for each unique job, with a stable id and the source job ID.
  • A RUN_SUMMARY report for empty boards, filters, missing boards and errors.

How to use it

  1. Add one or more public Lever board slugs or URLs.
  2. Keep includeContent on when you need descriptions and lists.
  3. Add filters when you want only matching jobs.
  4. Run the Actor and open the Dataset with the saved rows.

Input

{
"targets": ["leverdemo", "https://jobs.lever.co/palantir"],
"includeContent": true,
"filters": {
"titleIncludes": ["engineer"],
"workplaceTypes": ["remote"]
},
"maxJobsPerTarget": 0,
"maxTotalJobs": 5000,
"pageSize": 0,
"continueOnError": true
}

targets is required and accepts up to 50 entries. A bare slug uses the global Lever service. Use an EU board URL when the board is on the EU Lever service. An exact public job URL returns one job row.

maxJobsPerTarget accepts 0–5,000; 0 means no per-board cap. maxTotalJobs accepts 1–5,000 and is the maximum number of unique rows saved in one run. pageSize accepts 0–1,000. Use 0 for the complete board response, or use a positive value to read the board in source pages. continueOnError lets other targets run after one target has a technical error.

Filters use OR logic inside one filter group and AND logic between groups. For example, two titleIncludes values match either title, while a title and a country filter must both match.

Output

The default Dataset contains one row per unique published posting. Each row has a stable id, the source sourceJobId, region and board, source fields, public content, links and observedAt. Optional fields remain null or empty when the board does not provide them. The Actor does not guess salary, country, company name or update time.

The key-value store record RUN_SUMMARY contains a final status, counts and one entry for every input target. OK, EMPTY_BOARD, FILTERED_EMPTY and NOT_FOUND are different outcomes. Technical failures are not reported as empty boards. No job application is submitted.

Charging

The price is $0.30 per 1,000 unique useful job rows ($0.00030 per row). The Actor charges one result event for each accepted unique useful row. Empty, filtered, duplicate, invalid, not-found and failed targets create no result charge. Apify may also show its normal platform run charge.

Limits and safe use

The most important limit is 5,000 unique rows per run. Fields such as salary, country, workplace type and lists can be empty when the employer does not publish them.

This Actor reads published public postings from the boards supplied in the input. It is not a global Lever company index. It does not read internal or closed jobs, enrich records, use login or cookies, automate a browser, use AI extraction, or read another ATS.

The name Lever identifies the source format only. This project is not affiliated with or endorsed by Lever. Customers are responsible for their use of public job content and for following applicable terms, privacy and copyright rules.

Need help?

Open the run ID in Apify, then open RUN_SUMMARY. Check the target status first. For a missing board, verify the slug in its public career-page URL. For an empty result, check filters and limits before retrying. Share the run ID and the status entry when you ask for support. Never share an access token.