Discover/Lever API
live

Lever APIjobs.eu.lever.co

Retrieve full application form structure from EU Lever job postings — sections, field types, required status, and dropdown options via one API endpoint.

This API takes change requests — .
Endpoint health
verified 1h ago
get_application_form
1/1 passing latest checkself-healing
Endpoints
1
Updated
2h ago

What is the Lever API?

The EU Lever Application Form API exposes the complete structure of job application forms hosted on jobs.eu.lever.co through a single get_application_form endpoint. A single call returns 9 top-level fields including all form sections, field labels, input types, required flags, and dropdown options for a given company and job posting UUID — giving you everything needed to inspect or integrate an employer's application requirements programmatically.

This call costs2 credits / call— charged only on success
Try it
Company slug as it appears in the Lever job posting URL (e.g. 'xtb' from jobs.eu.lever.co/xtb/...).
UUID of the job posting as it appears in the Lever URL (e.g. '6fb09849-90f8-42d2-afb5-6a05acf2da9c').
api.parse.bot/scraper/ee1530ca-f911-4061-8427-40d24ae2c28f/<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/ee1530ca-f911-4061-8427-40d24ae2c28f/get_application_form?company=xtb&posting_id=6fb09849-90f8-42d2-afb5-6a05acf2da9c' \
  -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-eu-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.

"""Walkthrough: Lever EU Job Application Form API — fetch and inspect a posting's form."""
from parse_apis.jobs_eu_lever_co_api import LeverEU, InputFormatInvalid

client = LeverEU()

# Fetch the application form for a known job posting.
try:
    form = client.application_forms.get(company="xtb", posting_id="6fb09849-90f8-42d2-afb5-6a05acf2da9c")
except InputFormatInvalid as e:
    print("Invalid input:", e.message)
    raise

print(f"{form.job_title} — {form.location} ({form.commitment}, {form.workplace_type})")
print(f"Team: {form.team}")
print(f"Apply at: {form.application_url}")

# Walk each form section and its fields.
for section in form.sections:
    print(f"\n[{section.section}]")
    for field in section.fields:
        req = "required" if field.required else "optional"
        print(f"  {field.label} ({field.type}, {req})")

print("\nexercised: application_forms.get")
All endpoints · 1 totalmissing one? ·

Retrieves the complete application form for a specific job posting on EU Lever. Returns the form structure organized by sections (e.g. personal information, links, custom questions, consent) with each field's label, input type, required status, and dropdown options where applicable. Also includes the job posting's title, location, team, commitment type, and workplace type. Makes one HTTP request to fetch the apply page and parses the HTML form.

Input
ParamTypeDescription
companyrequiredstringCompany slug as it appears in the Lever job posting URL (e.g. 'xtb' from jobs.eu.lever.co/xtb/...).
posting_idrequiredstringUUID of the job posting as it appears in the Lever URL (e.g. '6fb09849-90f8-42d2-afb5-6a05acf2da9c').
Response
{
  "type": "object",
  "fields": {
    "team": "Team or department",
    "company": "The company slug",
    "location": "Job location",
    "sections": "Array of form sections, each with a section name and array of fields",
    "job_title": "Job title from the posting header",
    "commitment": "Employment type (e.g. Full-time)",
    "posting_id": "The posting UUID",
    "workplace_type": "Workplace model (e.g. Hybrid, Remote)",
    "application_url": "Full URL of the application form page"
  },
  "sample": {
    "data": {
      "team": "Research – Research",
      "company": "xtb",
      "location": "Lisboa",
      "sections": [
        {
          "fields": [
            {
              "type": "file",
              "label": "Resume/CV",
              "required": true
            },
            {
              "type": "text",
              "label": "Full name",
              "required": true
            },
            {
              "type": "email",
              "label": "Email",
              "required": true
            },
            {
              "type": "text",
              "label": "Phone",
              "required": true
            },
            {
              "type": "text",
              "label": "Current location",
              "required": true
            },
            {
              "type": "text",
              "label": "Current company",
              "required": false
            }
          ],
          "section": "Submit your application"
        },
        {
          "fields": [
            {
              "type": "text",
              "label": "LinkedIn URL",
              "required": false
            },
            {
              "type": "text",
              "label": "GitHub URL",
              "required": false
            },
            {
              "type": "text",
              "label": "Portfolio URL",
              "required": false
            },
            {
              "type": "text",
              "label": "Other website",
              "required": false
            }
          ],
          "section": "Links"
        },
        {
          "fields": [
            {
              "type": "dropdown",
              "label": "Have you previously been employed by XTB?",
              "options": [
                "Yes",
                "No"
              ],
              "required": true
            },
            {
              "type": "text",
              "label": "What is your expected monthly base salary (no bonus included)? Please enter numbers only, including gross amount and currency",
              "required": true
            },
            {
              "type": "dropdown",
              "label": "What is your notice period?",
              "options": [
                "Immediate",
                "2 weeks",
                "1 month",
                "2 months",
                "3 months"
              ],
              "required": true
            },
            {
              "type": "dropdown",
              "label": "Visa permission",
              "options": [
                "No, I don't need a visa nor work permit in the location that I am applying for",
                "I don't need a visa, but I will need a work permit if I am going to change Employer/work for XTB in location that I am applying for",
                "Yes, I need visa and work permit to work in location that I am applying for"
              ],
              "required": true
            }
          ],
          "section": "More details"
        },
        {
          "fields": [
            {
              "type": "checkbox",
              "label": "Yes, XTB can contact me about future job opportunities for up to 1 year",
              "required": false
            }
          ],
          "section": "Consent"
        }
      ],
      "job_title": "Financial Research Analyst",
      "commitment": "Full-time",
      "posting_id": "6fb09849-90f8-42d2-afb5-6a05acf2da9c",
      "workplace_type": "Hybrid",
      "application_url": "https://jobs.eu.lever.co/xtb/6fb09849-90f8-42d2-afb5-6a05acf2da9c/apply"
    },
    "status": "success"
  }
}

About the Lever API

What the API returns

The get_application_form endpoint accepts two required parameters: company (the slug as it appears in the Lever URL, e.g. xtb) and posting_id (the UUID identifying the specific job posting, e.g. 6fb09849-90f8-42d2-afb5-6a05acf2da9c). The response includes job metadata — job_title, team, location, commitment, and workplace_type — alongside the full sections array that describes the application form itself.

Form structure in detail

The sections array is the core of the response. Each entry contains a section name (such as personal information, links, custom questions, or consent) and an array of fields. For each field you get its label, input type (e.g. text, dropdown, checkbox, textarea), whether it is required, and any dropdown options where applicable. This makes it straightforward to map out exactly what an applicant must supply before submitting to a given role.

Additional metadata

Beyond form structure, the response includes application_url (the full URL of the form page), posting_id, and company — useful for bookkeeping when processing multiple postings. Fields like commitment (e.g. Full-time) and workplace_type (e.g. Hybrid, Remote) let you filter or display role context without a separate lookup.

Reliability & maintenanceVerified

The Lever API is a managed, monitored endpoint for jobs.eu.lever.co — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when jobs.eu.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.eu.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
1h ago
Latest check
1/1 endpoint 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
  • Audit application form complexity across multiple EU Lever job postings to compare required field counts by role or team
  • Pre-populate or validate candidate data against specific field types and required flags before submission
  • Build a job board that surfaces workplace_type and commitment data alongside standard listing details
  • Detect custom consent fields across employer postings to flag GDPR-related form requirements
  • Sync Lever application form structures into an internal ATS or HR tooling database using posting_id as a stable key
  • Generate candidate-facing guides that enumerate every required field for a specific job posting
  • Monitor changes to a job posting's application form over time by diffing the sections response
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Lever have an official developer API?+
Yes. Lever provides an official REST API documented at https://hire.lever.co/developer/documentation. It covers postings, candidates, and applications for accounts on the US platform. The EU-hosted platform (jobs.eu.lever.co) has separate URL conventions, and data availability through the official API depends on employer account permissions.
What does the sections field actually contain?+
The sections array contains one entry per logical grouping in the application form — for example, personal information, links, custom questions, and consent. Each section holds an array of fields with a label, input type, required boolean, and (where relevant) an array of dropdown options. The structure mirrors what a candidate would see when filling out the form.
Does the API return the job description or posting body text?+
Not currently. The API covers application form structure and job metadata fields (title, team, location, commitment, workplace_type) but does not return the full job description body. You can fork this API on Parse and revise it to add a field for the posting description text.
Can I retrieve all job postings for a company rather than one at a time?+
The current endpoint requires a specific posting_id UUID for each call — it does not enumerate all open postings for a given company slug. You can fork this API on Parse and revise it to add a listing endpoint that returns all active posting IDs for a company.
Is the form data specific to the EU Lever platform, or does it also cover jobs.lever.co?+
This API targets the EU-hosted Lever platform at jobs.eu.lever.co. The US-hosted platform (jobs.lever.co) uses different URLs and may have structural differences. The company and posting_id parameters must correspond to postings on the EU domain for results to be returned correctly.
Page content last updated . Spec covers 1 endpoint from jobs.eu.lever.co.
Related APIs in JobsSee all →
whyhirewrong.teamtailor.com API
Retrieve the complete structure of job application forms for the WhyHireWrong? Teamtailor career site, including all sections, fields, field types, and requirements to understand what applicants need to submit. Use this information to prepare job postings, design your application workflow, or integrate with your hiring system.
jobs.lever.co API
Access job postings on any Lever-hosted company job board. List, filter, search, and group open roles, retrieve full posting details, and extract application form questions via Lever's public API.
jobs.workable.com API
Access data from jobs.workable.com.
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.
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.
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.
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.
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.