Catalog / Lever

Lever API

lever.co

Lists and retrieves published jobs from an individual public Lever board using the live postings API, including source filters and offset pagination. Employer is the resolved board identifier because Lever's public posting payload does not expose a separate employer display name. Job IDs use the job_ prefix and can be passed unchanged to the detail route.

  • Business
  • jobs
  • recruiting
  • Lever
  • public data
2 endpointsDocs updated

Endpoint health

Loading verification…

JobsLoading

Connect your agent

Connect through MCP so your agent can find this API, read its docs, and call its endpoints.

Setup guide

Add the server from your terminal.

Claude Code · terminal
claude mcp add --transport http agent-data https://agent-data.motie.dev/mcp

In Claude Code, run /mcp, select agent-data, then Authenticate. Sign in to your agent-data account in the browser.

Then ask your agent to use the Lever API for your task.

Call it over HTTP

Get an API key

Sign up free, generate an API key, and set it as AGENT_DATA_API_KEY in your environment. Your first 100 calls each month are free.

List published jobs from one Lever board

Lever board identifier or canonical https://jobs.lever.co/{board} URL.

Optional parameters 4

Maximum source postings to return in this page; use skip for later pages.

Number of source postings to skip before this page.

Exact Lever location filter.

Exact Lever team filter.

View call pricing
cURL · Jobs
curl --request GET --get 'https://api.agent-data.dev/lever-co/v1/jobs' \
  --header "Authorization: Bearer $AGENT_DATA_API_KEY" \
  --data-urlencode 'board=aircall'

Endpoints

Inputs and response fields for every endpoint in this API.

GETJobs/v1/jobs

List published jobs from one Lever board

Input

boardRequiredQuery · string

Lever board identifier or canonical https://jobs.lever.co/{board} URL.

Example: aircall

limitOptionalQuery · integer, min: 1, max: 100, default: 100

Maximum source postings to return in this page; use skip for later pages.

Example: 100

skipOptionalQuery · integer, min: 0, default: 0

Number of source postings to skip before this page.

Example: 0

locationOptionalQuery · string | null

Exact Lever location filter.

Example: New York Office

teamOptionalQuery · string | null

Exact Lever team filter.

Example: 12001 - Account Executives

Response

dataobject[]
data[].idstring
data[].titlestring
data[].employerstring
data[].location?string | null
data[].department?string | null
data[].updated_at?string | null
data[].descriptionstring
data[].compensation?object
data[].compensation.maximum?integer | number | null
data[].compensation.minimum?integer | number | null
data[].compensation.currency?string | null
data[].compensation.interval?string | null
data[].compensation.description?string | null
data[].published_atstring | null
data[].application_url?string (uri) | null
data[].employment_type?string | null
data[].workplace_arrangementstring | null
transportstring
paginationobject
pagination.skipinteger
pagination.limitinteger
pagination.next_skipinteger | null
request_idstring

Fields marked ? are optional.

GETJobs by job id/v1/jobs/{job_id}

Retrieve full details for a published Lever job

Input

job_idRequiredPath · string

Stable job identifier returned by this API, including its job_ prefix.

Example: job_f2ab14ed-0258-4dc6-bd52-c96eb7d968e5

boardRequiredQuery · string

Lever board identifier or canonical https://jobs.lever.co/{board} URL.

Example: aircall

Response

dataobject
data.idstring
data.titlestring
data.employerstring
data.location?string | null
data.department?string | null
data.updated_at?string | null
data.descriptionstring
data.compensation?object
data.compensation.maximum?integer | number | null
data.compensation.minimum?integer | number | null
data.compensation.currency?string | null
data.compensation.interval?string | null
data.compensation.description?string | null
data.published_atstring | null
data.application_url?string (uri) | null
data.employment_type?string | null
data.workplace_arrangementstring | null
transportstring
request_idstring

Fields marked ? are optional.

Don’t see the endpoint you need?

Ask agent-data to add an endpoint or return more fields. Extensions are free and keep existing endpoints working.