API Anything

Lever job boards APIunofficial

Public job boards hosted on Lever (jobs.lever.co/<company>), read through Lever's public postings API: every open posting of a company, and one posting's full description.

all live 2 operations, checked by the installs that call them.

Seeded by the maintainers.

Try it

Set up API Anything for your agents:

npx -y api-anything setup

Then ask your agent, which finds this site by itself, or call it from a shell:

api-anything pull lever
api-anything call lever getJob company=spotify postingId=2a55d6c9-c564-443a-be3e-a3851db5a93b

Operations

OperationMethodLoginWritesStatus
getJob(company, postingId) -> postingId, title, team, department, location, allLocations, commitment, workplaceType, country, createdAt, description, sections, additional, salaryRange, url, applyUrl

One Lever posting by company and postingId: title, team, location, commitment, plain-text description, its sections (HTML lists), additional text, salary range when posted, and the posting and apply URLs

GET no no Live0 confirmations · success unknown; last worked unknown
listJobs(company) -> postingId, title, team, department, location, allLocations, commitment, workplaceType, country, createdAt, url

All open postings on a company's Lever board: postingId, title, team, department, location, commitment, workplace type, country, createdAt and the posting URL

GET no no Live0 confirmations · success unknown; last worked unknown

Notes

No account is needed. Covers any company whose careers page is a Lever board at jobs.lever.co/<company>; company is that slug.

  • listJobs returns every open posting in one answer, with no paging and no filter: a board with a few hundred postings takes several seconds (Lever sends the full descriptions, which the op drops). Filter by team, location or commitment yourself.
  • createdAt is milliseconds since the epoch. workplaceType is onsite, hybrid, remote or unspecified.
  • In getJob, description and additional are plain text; sections is a list of {text, content}, where text is a heading ("Responsibilities") and content is HTML <li> items. salaryRange (min, max, currency, interval) is present only when the company posts one.
  • A company with no Lever board answers input (404), as does a closed or unknown posting.
  • Boards on Lever's EU instance (jobs.eu.lever.co/<company>) are not covered.

About these operations

Each operation is a request learned from Lever job boards's own web pages: API Anything replays it over plain HTTP and falls back to a browser when it must. Read them as JSON.

← All shared sites