Levels.fyi Job Search API Documentation Search jobs on Levels.fyi. Each job has the id, title, company, locations, work arrangement (remote, hybrid, office), base salary range with currency, total compensation range, posted date and apply link. The answer also lists the companies with type, description, employee count and valuation. Levels.fyi groups jobs per company: page and limit count companies (up to 20), and jobs_per_company (up to 15) sets the jobs per company. The work_arrangement, min_base_compensation (USD, checked against the minimum base pay of each job) and posted_within_days filters are checked on every returned job, so jobs without that data are left out. The location is a Levels.fyi slug such as united-states, germany or san-francisco-bay-area. A call takes 1 to 10 seconds. Cost: 1 credit per successful request. Failed requests and empty answers from a missing board cost nothing.
Run this endpoint
Endpoint
Parameters
Start with the required fields, then add optional filters only when your use case needs them.
Runnable path
This endpoint has no required query parameters.
10 optional filters available.
string
Optional
Search text.
coffee shops
string
Optional
Levels.fyi company slug, e.g. google.
example
string
Optional
Levels.fyi location slug, e.g. germany.
Austin, Texas
string
Optional
remote, hybrid or office.
example
integer
Optional
Minimum yearly base pay in USD, e.g. 200000.
10
integer
Optional
Only jobs posted in the last N days, 1 to 365.
10
string
Optional
relevance, date_published or total_compensation. Default: relevance.
relevance
integer
Optional
Page of companies, 1 to 500. Default: 1.
1
integer
Optional
Companies per page, 1 to 20. Default: 10.
10
integer
Optional
Jobs per company, 1 to 15. Default: 3.
10
Response Schema
Example response fields are illustrative; inspect the JSON before integrating.
Example response fields
Scan these fields before integrating.
data
meta
success
{
"data": {
"jobs": [
{
"id": "levels:13oj1z67ynfdy",
"title": "Software Engineer, Security",
"salary": {
"max": 350000,
"min": 250000,
"currency": "USD",
"interval": "yearly"
},
"company": {
"name": "Slash",
"slug": "slash"
},
"location": {
"raw": "San Francisco, CA"
},
"posted_at": "2026-08-12T00:00:00.000Z",
"workplace_type": "office"
}
],
"pagination": {
"page": 1,
"unit": "companies",
"limit": 10,
"has_more": true,
"next_page": 2,
"total_results": 1200
}
},
"meta": {
"credits": 1,
"billable": true
},
"success": true
}
Errors
Handle these documented responses before retrying or showing customer-facing failures.
Validation Error
A required query parameter is missing or invalid. This response is not billable.
{
"errors": {
"param": [
"The sort is one of relevance, date_published, total_compensation."
]
},
"message": "The request validation failed"
}Not Found
The board, company or job does not exist. This response is not billable.
{
"error": {
"code": "not_found",
"message": "No Levels.fyi results for this company or location slug."
},
"success": false
}Upstream Error
The job board did not answer. Try again shortly. This response is not billable.
{
"error": {
"code": "upstream_error",
"message": "The job board did not answer. Try again shortly."
},
"success": false
}Generate Code with AI
Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.
Try It Live
Test this endpoint in our interactive playground with real data.