# Lever Job Board Scraper — All Company Jobs (`hipersoft/lever-scraper`) Actor

Scrape all open jobs from any company's Lever board: title, team, department, location, commitment, workplace type, description and apply link. Bulk companies. Public API, no key.

- **URL**: https://apify.com/hipersoft/lever-scraper.md
- **Developed by:** [hiper soft](https://apify.com/hipersoft) (community)
- **Categories:** Jobs
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.00085 / job scraped

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Lever Job Board Scraper — Jobs, Teams & Apply Links

Scrape **every open job** from any company that hosts its careers page on **Lever** — title, team, department, location, commitment, workplace type, full description and apply link — into clean JSON, CSV, Excel or XML. Pass one or many companies and get a complete, deduplicated feed. Fast and reliable.

![Lever Job Board Scraper input — companies, includeContent and maxJobsPerCompany in the Apify Console](https://api.apify.com/v2/key-value-stores/SUfvnaFLd9z9eBCtV/records/lever-scraper-input.png)

### What does Lever Job Board Scraper do?

The Lever Job Board Scraper collects all open roles from the companies you list and exports each job as a structured record. Pass one or many Lever tokens or board URLs, choose whether to include full descriptions, and it returns a clean, deduplicated feed of jobs with titles, teams, departments, locations, commitment, workplace type and apply links.

### What data can you scrape from Lever?

| Data | Fields |
| --- | --- |
| 🏢 Company | company token |
| 📋 Job | job ID, title, department, team, level |
| 📍 Location | location, all locations, country, workplace type |
| 🕒 Terms | commitment, created date |
| 🔗 Apply | apply URL, hosted posting URL |
| 📝 Content | full description (plain text) and original HTML |

### Use cases

- **Job aggregators** — feed thousands of live roles from company career pages into your board.
- **Recruiting intelligence** — track who's hiring, for which teams, and where.
- **Hiring-trend analysis** — monitor headcount growth by department, team and location over time.
- **Sales & lead lists** — spot companies expanding into a function you sell to.
- **ATS / market monitoring** — watch competitor and target-account hiring in near real time.
- **Talent sourcing** — build role-specific feeds for candidates and recruiters.

### How to scrape Lever data

1. Add the **Lever Job Board Scraper** to your Apify account.
2. Add one or many **companies** — a Lever token (the slug in `jobs.lever.co/<token>`) or a full board URL.
3. Toggle **includeContent** and set **maxJobsPerCompany** to control depth.
4. Click **Run** and watch jobs stream into the dataset.
5. Export to JSON, CSV, Excel or XML, or pull them through the Apify API.

### Input

List the companies you want, choose whether to include full descriptions, and cap jobs per company if needed.

#### Example input

```json
{
  "companies": ["spotify", "https://jobs.lever.co/plaid"],
  "includeContent": true,
  "maxJobsPerCompany": 0
}
```

`companies` accepts a Lever **token** (the slug in `jobs.lever.co/<token>`) or a full board URL.

| Field | Description |
| --- | --- |
| `companies` | Lever company tokens or board URLs to scrape. |
| `includeContent` | Include each job's full description (text + HTML). Default true. |
| `maxJobsPerCompany` | Cap jobs per company. 0 = all. |

### Output

Each job is one clean record:

```json
{
  "company": "spotify",
  "jobId": "890b2c0f-f46f-4a4b-…",
  "title": "Advertiser Solutions Vendor Lead",
  "department": "Advertising",
  "team": "Advertising Sales",
  "location": "London",
  "allLocations": ["London", "Stockholm"],
  "commitment": "Permanent",
  "level": "Senior",
  "workplaceType": "hybrid",
  "country": "GB",
  "createdAt": "2026-07-20T10:00:00.000Z",
  "applyUrl": "https://jobs.lever.co/spotify/890b2c0f…/apply",
  "hostedUrl": "https://jobs.lever.co/spotify/890b2c0f…",
  "description": "About the role…",
  "descriptionHtml": "<div>About the role…</div>"
}
```

![Lever Job Board Scraper output example — job title, team and apply link as structured JSON](https://api.apify.com/v2/key-value-stores/SUfvnaFLd9z9eBCtV/records/lever-scraper-output.png?v=1)

#### Output schema

| Field | Type | Description |
| --- | --- | --- |
| `company` | string | Lever company token the job came from. |
| `jobId` | string | Unique Lever job posting ID. |
| `title` | string | Job title. |
| `department` | string | Department the role belongs to. |
| `team` | string | Team within the department. |
| `location` | string | Primary job location. |
| `allLocations` | array | All locations the role is open in. |
| `commitment` | string | Employment commitment, e.g. Permanent, Contract. |
| `level` | string | Seniority level of the role. |
| `workplaceType` | string | Workplace type, e.g. remote, hybrid, on-site. |
| `country` | string | Country code for the primary location. |
| `createdAt` | string (ISO date) | When the posting was created. |
| `applyUrl` | string (URL) | Direct link to apply for the role. |
| `hostedUrl` | string (URL) | Lever-hosted posting page URL. |
| `description` | string | Full job description as plain text. |
| `descriptionHtml` | string | Original job description HTML. |

### Need more job data?

- [Greenhouse Job Board Scraper](https://apify.com/hipersoft/greenhouse-scraper) — jobs from Greenhouse boards.
- [Ashby Job Board Scraper](https://apify.com/hipersoft/ashby-scraper) — jobs from Ashby boards.
- [RemoteOK Scraper](https://apify.com/hipersoft/remoteok-scraper) — remote job listings.
- [Indeed Scraper](https://apify.com/hipersoft/indeed-scraper) — jobs across employers.

### FAQ

**Where do I find a company's Lever token?**
It's the slug in the careers URL — `jobs.lever.co/spotify` → `spotify`. A full URL works too.

**How many companies can I scrape?**
As many as you like — add them all to `companies` and each is fetched in turn.

**Do I need any setup or a login?**
No setup and no login. Just add the companies you want and run.

**How does billing work?**
You pay only per job you get — no subscription. Our per-item price floors 20% below the cheapest comparable scraper.

**What export formats are supported?**
JSON, CSV, Excel and XML, plus the Apify API for programmatic access.

**Can I skip the long descriptions?**
Yes — set `includeContent` to false for a lighter, faster run that omits the description text and HTML.

**How fresh is the data?**
Each run fetches live postings, so results reflect each board at the moment you run the actor. The `createdAt` field timestamps every job.

**Is it legal?**
The actor returns only publicly available job postings. You are responsible for how you use the data.

**Can I connect it to my other tools?**
The Lever Job Board Scraper can be connected with almost any cloud service or web app thanks to [integrations on the Apify platform](https://apify.com/integrations). It works with [Make](https://apify.com/integrations/make), [Zapier](https://apify.com/integrations/zapier), [Slack](https://docs.apify.com/platform/integrations/slack), [Airbyte](https://docs.apify.com/platform/integrations/airbyte), [GitHub](https://docs.apify.com/platform/integrations/github), [Google Drive](https://docs.apify.com/platform/integrations/drive) and [many more](https://apify.com/integrations), plus the [Apify API](https://docs.apify.com/api/v2), JavaScript/Python clients and MCP. Or use [webhooks](https://docs.apify.com/platform/integrations/webhooks) to trigger an action whenever a run finishes.

### Related Actors

- [Greenhouse Job Board Scraper](https://apify.com/hipersoft/greenhouse-scraper) — jobs from Greenhouse boards.
- [RemoteOK Scraper](https://apify.com/hipersoft/remoteok-scraper) — remote-first job listings.
- [Indeed Scraper](https://apify.com/hipersoft/indeed-scraper) — jobs across many employers.

### Notes

Original clean-room implementation. Returns only public job-posting data; you are responsible for how you use it. Not affiliated with or endorsed by Lever.

# Actor input Schema

## `companies` (type: `array`):

Lever company tokens or board URLs — e.g. "spotify" or https://jobs.lever.co/spotify.

## `includeContent` (type: `boolean`):

Include each job's full description (plain text + HTML).

## `maxJobsPerCompany` (type: `integer`):

Limit jobs per company. 0 = all.

## Actor input object example

```json
{
  "companies": [
    "spotify",
    "plaid"
  ],
  "includeContent": true,
  "maxJobsPerCompany": 0
}
```

# Actor output Schema

## `results` (type: `string`):

The scraped results as dataset items.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "companies": [
        "spotify"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("hipersoft/lever-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "companies": ["spotify"] }

# Run the Actor and wait for it to finish
run = client.actor("hipersoft/lever-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "companies": [
    "spotify"
  ]
}' |
apify call hipersoft/lever-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,hipersoft/lever-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/ZqM6yDO3BMX5YHc7Z/builds/wQKJ6SGGXUXEUCmGa/openapi.json
