Discover/Lever API
live

Lever APIjobs.lever.co

Access job postings from any Lever-hosted company board. List, filter, search, and group roles, get full posting details, and extract application form questions.

Endpoint health
verified 9h ago
get_job_posting_detail
get_job_application_form_questions
search_jobs
get_company_job_postings
get_company_job_board
6/6 passing latest checkself-healing
Endpoints
6
Updated
21d ago

What is the Lever API?

This API exposes 6 endpoints covering Lever-hosted company job boards at jobs.lever.co. Use get_company_job_postings to list all active roles for a company with filters for team, location, commitment type, and pagination, or call get_job_application_form_questions to extract every field label, input type, required flag, and answer options from a posting's application form.

Try it
Filter by team/department name. Requires exact match to the team value in the posting.
Max results to return per page.
Pagination offset (number of items to skip).
The company slug as it appears in the Lever URL (e.g. 'palantir', 'netflix').
Filter by location. Requires exact match to the full location string (e.g. 'New York, NY').
Filter by commitment type (e.g. 'Full-time', 'Internship').
api.parse.bot/scraper/1d3e03ad-4684-456a-a278-b06b36e15b58/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/1d3e03ad-4684-456a-a278-b06b36e15b58/get_company_job_postings?team=Administrative&limit=10&offset=0&company=palantir&location=New+York%2C+NY&commitment=Full-time' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace jobs-lever-co-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.lever_job_board_api import Lever, Posting, FormQuestion, JobBoard, GroupBy, PostingNotFound

lever = Lever()

# List postings for a company with a filter
for posting in lever.postings.list(company="palantir", commitment="Full-time"):
    print(posting.text, posting.hosted_url, posting.categories.location)

# Search for specific roles by keyword
for result in lever.postings.search(company="palantir", query="security"):
    print(result.text, result.categories.team)

# Get full details of a specific posting
detail = lever.postings.get(company="palantir", posting_id="0bbfd4f4-41ff-4ec6-b73f-5200efd5d4d3")
print(detail.text, detail.apply_url)
for section in detail.lists:
    print(section.text, section.content)

# Get postings grouped by department
grouped = lever.postings.grouped(company="palantir", group_by=GroupBy.TEAM)
for team_name, jobs in grouped.items():
    print(team_name, len(jobs))

# Get the HTML-scraped job board overview
board = lever.jobboards.get(company="palantir")
print(board.company_name, board.logo_url)
for bp in board.postings:
    print(bp.title, bp.department, bp.location)

# Get application form questions for a posting
for question in lever.formquestions.list(company="palantir", posting_id="0bbfd4f4-41ff-4ec6-b73f-5200efd5d4d3"):
    print(question.label, question.type, question.required)
All endpoints · 6 totalmissing one? ·

Fetch active job postings for a company from the Lever public API. Supports filtering by team, location, and commitment type. Returns paginated results via offset. The location filter requires an exact match to the location string as stored by Lever.

Input
ParamTypeDescription
teamstringFilter by team/department name. Requires exact match to the team value in the posting.
limitintegerMax results to return per page.
offsetintegerPagination offset (number of items to skip).
companyrequiredstringThe company slug as it appears in the Lever URL (e.g. 'palantir', 'netflix').
locationstringFilter by location. Requires exact match to the full location string (e.g. 'New York, NY').
commitmentstringFilter by commitment type (e.g. 'Full-time', 'Internship').
Response
{
  "type": "object",
  "fields": {
    "items": "array of job posting objects",
    "total": "integer count of items returned"
  },
  "sample": {
    "data": {
      "items": [
        {
          "id": "0bbfd4f4-41ff-4ec6-b73f-5200efd5d4d3",
          "text": "Administrative Business Partner - Security",
          "lists": [
            {
              "text": "Core Responsibilities",
              "content": "<li>...</li>"
            }
          ],
          "country": "US",
          "applyUrl": "https://jobs.lever.co/palantir/0bbfd4f4-41ff-4ec6-b73f-5200efd5d4d3/apply",
          "createdAt": 1778622524938,
          "hostedUrl": "https://jobs.lever.co/palantir/0bbfd4f4-41ff-4ec6-b73f-5200efd5d4d3",
          "categories": {
            "team": "Administrative",
            "location": "Palo Alto, CA",
            "commitment": "Full-time",
            "allLocations": [
              "Palo Alto, CA"
            ]
          },
          "description": "<div>...</div>",
          "workplaceType": "hybrid",
          "descriptionPlain": "A World-Changing Company..."
        }
      ],
      "total": 3
    },
    "status": "success"
  }
}

About the Lever API

Job Listings and Filtering

get_company_job_postings accepts a company slug and returns an array of job objects, each containing a UUID id, job text (title), HTML and plain-text description fields, applyUrl, hostedUrl, a categories object with commitment, location, team, and allLocations, and a createdAt millisecond timestamp. Optional filters include team, location, commitment, limit, and offset. Location and team filters require exact string matches as stored by Lever — for example, 'New York, NY' not 'New York'. get_job_posting_detail returns the same shape for a single posting identified by its UUID posting_id.

Grouping and Search

get_job_postings_grouped fetches all postings for a company and returns them keyed by a field you specify via group_by: accepted values are department, team, location, or commitment. Each key maps to an array of full posting objects. search_jobs performs case-insensitive substring matching against job title, plain-text description, and categories fields, returning matching posting objects with id, text, hostedUrl, and categories.

Job Board Page and Application Form

get_company_job_board retrieves the public-facing Lever job board for a company, returning company_name, logo_url, and a postings array where each item includes title, location, commitment, url, department, and id — structured as grouped on the board page. get_job_application_form_questions targets a specific posting by company and posting_id and returns a questions array; each question object includes label, type (e.g. text, select, checkbox), required status, and an options array for select, radio, or checkbox fields.

Reliability & maintenanceVerified

The Lever API is a managed, monitored endpoint for jobs.lever.co — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when jobs.lever.co changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official jobs.lever.co API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
9h ago
Latest check
6/6 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Aggregate open engineering roles across multiple Lever-hosted companies into a single job feed, using team and commitment filters.
  • Build a job alert system that monitors createdAt timestamps from get_company_job_postings to surface newly posted roles.
  • Analyze application form complexity across companies by comparing question counts and required fields from get_job_application_form_questions.
  • Group a company's postings by location or department via get_job_postings_grouped to power a filterable careers directory.
  • Pre-fill or validate application workflows by mapping field type and options returned for each posting's form questions.
  • Search a company's Lever board by keyword with search_jobs to surface relevant roles for a given skill or job function.
  • Extract company logo and structured department-grouped listings from get_company_job_board to embed in a third-party careers portal.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Lever have an official public API?+
Yes. Lever publishes a public postings API documented at https://hire.lever.co/developer/postings. This Parse API covers the data exposed through that public surface for any company using Lever-hosted job boards.
What does the `categories` field contain and how does it differ from `allLocations`?+
categories is an object with four keys: commitment (e.g. 'Full-time'), location (the primary location string), team (department name), and allLocations (an array listing every location associated with the posting). A posting with multiple office options will have them in allLocations while location holds the primary one.
Why do location and team filters sometimes return no results even when matching postings exist?+
Both the location and team parameters in get_company_job_postings require an exact string match to the value Lever stores for that posting. A query for 'New York' will not match a posting stored as 'New York, NY'. Use get_company_job_postings without filters first to inspect the exact strings, then apply them as filter values.
Does this API cover closed or archived job postings?+
No — all endpoints return only active postings as exposed by the public Lever board. Historical, closed, or archived roles are not available through the public surface this API covers. You can fork this API on Parse and revise it to target any alternate data sources if historical posting data is available elsewhere for a given company.
Can I retrieve candidate or applicant data through this API?+
No. The API covers public job postings, posting details, job board structure, and application form questions only. Candidate profiles, submitted applications, and recruiter-side data are private and not part of the public Lever postings surface. You can fork this API on Parse and revise it if Lever's authenticated partner API exposes the specific data you need.
Page content last updated . Spec covers 6 endpoints from jobs.lever.co.
Related APIs in JobsSee all →
linkedin.com API
Search LinkedIn job listings by job type, experience level, workplace type, salary range, and date posted, then retrieve detailed information about specific positions. Build job boards, career tools, or recruitment dashboards with access to comprehensive filtering options across LinkedIn's public job listings.
jobs.ashbyhq.com API
Access company information, job listings, and detailed job postings from Ashby-hosted job boards, with the ability to search opportunities by keyword or department. Retrieve application forms and all relevant hiring details to streamline your job search process.
job-boards.greenhouse.io API
Access job listings, department information, office locations, and application forms from Greenhouse.io job boards, then submit applications directly through the platform. Search and filter available positions by keywords to find roles that match your qualifications.
welcometothejungle.com API
Search and discover job postings and company information from Welcome to the Jungle, including detailed job listings, company profiles with employee statistics and social links, and the ability to browse all available positions. Find the perfect role by searching jobs and companies, then access comprehensive details about positions and organizations in one place.
ashbyhq.com API
Search and filter job postings from Ashby-powered job boards by title, department, and experience level, then retrieve detailed information about specific positions.
cv.lv API
Search for job listings on CV.lv and access detailed job descriptions, categories, locations, and information about top employers. Find the right opportunity by browsing available positions across different industries and regions.
Workday Jobs API
Search and retrieve job postings and detailed descriptions from any company's Workday career site. Find open positions across all organizations using Workday's hiring platform and access complete job details in one place.
wellfound.com API
Search and discover startup jobs, company profiles, and trending opportunities on Wellfound by role and location, with detailed job information and autocomplete suggestions to streamline your job search. Access comprehensive company data and stay updated on what's trending in the startup ecosystem.