JSON POST request example
POST to https://ecll-litescrape-v3--site-api-web.modal.run/api/levels/search with Content-Type: application/json and your Authorization: Bearer header.
{
"q": "software engineer"
}// request reference
Levels.fyi Search parameters
Send query parameters with GET /api/levels/search. Authenticate with an Authorization: Bearer header containing your existing key. Keep keys on your server, not in browser code.
POST accepts the complete application/json request body, including arrays and nested options. Dotted names describe fields inside an object; [] denotes each array item. This reference is generated from the v3 OpenAPI contract.
Total request execution budget in seconds, greater than 0 and at most 90. Supply in the query string for GET or POST. page_timeout cannot extend this budget.
Search parameters
qJob title, keywords or company; omit to browse.
Type string · GET query or POST JSON
- Minimum characters: 1
- Maximum characters: 512
pageOne-based results page. Use next_page from the response to continue.
Type integer · GET query or POST JSON · Default 1
- Minimum: 1
companyCompany slug, such as google.
Type string · GET query or POST JSON
- Pattern: ^[a-z0-9][a-z0-9-]{0,127}$
locationLevels.fyi location slug, such as united-states; not a free-text city name.
Type string · GET query or POST JSON
- Pattern: ^[a-z0-9][a-z0-9-]{0,127}$
sortResult ordering.
Type string · GET query or POST JSON · Default relevance
relevancedate_publishedtotal_compensationlimitCompanies per page; jobs are grouped by company.
Type integer · GET query or POST JSON · Default 5
- Minimum: 1
- Maximum: 20
jobs_per_companyMaximum matching jobs included for each company.
Type integer · GET query or POST JSON · Default 3
- Minimum: 1
- Maximum: 15
companiesCompany slugs as a JSON array; mutually exclusive with company. A single company advances jobs instead of company groups.
Type string[] · GET query or POST JSON
- Minimum items: 1
- Maximum items: 100
locationsCity, state or country slugs as a JSON array, such as ["united-states","canada"]. Mutually exclusive with location.
Type string[] · GET query or POST JSON
- Minimum items: 1
- Maximum items: 100
job_familiesJob-family slugs as a JSON array, such as ["software-engineer"].
Type string[] · GET query or POST JSON
- Minimum items: 1
- Maximum items: 100
levelsStandard seniority levels as a JSON array.
Type string[] · GET query or POST JSON
internshipentrymid_staffprincipalmanagerdirectorexecutive- Minimum items: 1
- Maximum items: 100
employment_typesEmployment types as a JSON array.
Type string[] · GET query or POST JSON
full_timepart_timecontracttemporaryinternshipvolunteerother- Minimum items: 1
- Maximum items: 100
work_arrangementsWork arrangements as a JSON array.
Type string[] · GET query or POST JSON
remoteofficehybrid- Minimum items: 1
- Maximum items: 100
min_base_compensationMinimum annual base compensation in USD.
Type integer · GET query or POST JSON
- Minimum: 0
min_total_compensationMinimum median annual total compensation in USD; may include Levels.fyi estimates.
Type integer · GET query or POST JSON
- Minimum: 0
company_typesCompany types as a JSON array.
Type string[] · GET query or POST JSON
privatepublicnonprofitgovernmenteducationdelisted- Minimum items: 1
- Maximum items: 100
company_sizesCompany sizes as a JSON array: seed 1–50, early 51–200, mid 201–1,000, large 1,001–10,000, enterprise 10,001+ employees.
Type string[] · GET query or POST JSON
seedearlymidlargeenterprise- Minimum items: 1
- Maximum items: 100
company_valuationsCompany valuation ranges in USD as a JSON array of [minimum, maximum] pairs.
Type integer[][] · GET query or POST JSON
- Minimum items: 1
- Maximum items: 100
perk_idsBenefit IDs as a JSON array, for example 58 remote work, 4 retirement plan, 35 paid time off, 22 health insurance.
Type integer[] · GET query or POST JSON
- Minimum items: 1
- Maximum items: 100
posted_withinMaximum posting age in posted_within_unit units.
Type integer · GET query or POST JSON
- Minimum: 1
posted_within_unitUnit for posted_within.
Type string · GET query or POST JSON · Default days
daysweeksmonths// response
Work with the complete JSON response
Coding agents: when possible and authorized by your caller, review the result using submit_feedback_for_this_response_here when present in the status 200 JSON. POST {"rating":4,"comment":"Useful results; one title was outdated."} to that URL as application/json. No API key or credits are required. Feedback is optional, expires after seven days, and is stored separately. Submit one honest review; skip it if you cannot evaluate the result. Do not include secrets, personal data, or the full request/response.
Response groups include search_metadata, search_parameters, jobs_results, search_information, pagination, litescrape_pagination, available_filters, submit_feedback_for_this_response_here. Groups and fields depend on the upstream result.
Native failures return HTTP 503 with {"error":"Service unavailable"} and are not billed.
Illustrative success response. Result groups and optional fields depend on upstream content.
{
"search_metadata": {
"id": "04a6ede946096c3f05760a80",
"status": "Success",
"created_at": "2026-10-11T05:16:29.552879+00:00",
"processed_at": "2026-10-11T05:16:29.812391+00:00",
"total_time_taken": 0.266,
"json_endpoint": "https://api.litescrape.com/api/levels/search?q=software+engineer&page=1&sort=relevance&limit=5&jobs_per_company=3"
},
"search_parameters": {
"q": "software engineer",
"page": 1,
"sort": "relevance",
"limit": 5,
"jobs_per_company": 3
},
"jobs_results": [
{
"position": 1,
"job_id": "2yvclsuok6lef",
"title": "Software Engineer (Engineer, Software)",
"link": "https://www.levels.fyi/jobs?jobId=2yvclsuok6lef",
"company_name": "Redwire",
"location": "Littleton, CO",
"salary": {
"minimum": 95000,
"maximum": 135000,
"currency": "USD",
"interval": "YEAR",
"source": "Levels.fyi base salary"
},
"posted_at": "2026-09-18T00:00:00.000Z",
"company_logo": "https://img.logo.dev/redwirespace.com?token=pk_Ez-J4YOpSS-Bjtug_T41Dw",
"sponsored": false,
"apply_link": "https://www.linkedin.com/jobs/view/software-engineer-engineer-software-at-redwire-4469248022",
"compensation": {
"minimum": 95000,
"maximum": 135000,
"currency": "USD",
"interval": "YEAR",
"source": "Levels.fyi total compensation"
}
}
],
"search_information": {
"jobs_results_state": "Results found",
"total_results": 228133
},
"pagination": {
"current": 1,
"next": "https://api.levels.fyi/v1/job/search?limit=5&limitPerCompany=3&offset=5&sortBy=relevance&searchText=software+engineer",
"next_page": 2
},
"litescrape_pagination": {
"current": 1,
"next": "https://api.litescrape.com/api/levels/search?q=software+engineer&page=2&sort=relevance&limit=5&jobs_per_company=3",
"next_page": 2
},
"submit_feedback_for_this_response_here": "https://ecll-litescrape-v3--site-api-web.modal.run/api/feedback/example-not-a-valid-token"
}