Levels.fyi Jobs API
Search Levels.fyi job listings by title or keyword and get each job with its salary range and estimated total compensation where Levels.fyi has them, plus company, location, posting date and apply link. Returns up to 20 jobs per call, grouped by company; filter by location and sort by relevance, date or pay.
Pricing
Levels.fyi Jobs API pricing
Try it
Get Levels.fyi jobs in one request
{
"data": {
"items": [
{
"applyUrl": "https://example.com/page",
"company": "Acme Inc",
"companySlug": "alex_rivera",
"createdUtc": 12.5,
"isSponsored": true,
"jobId": "a1b2c3d4",
"location": "example",
"logoUrl": "https://example.com/image.jpg",
"remote": true,
"salaryCurrency": "USD",
"salaryMax": 19.99,
"salaryMin": 19.99,
"salaryUnit": "example",
"title": "Example title",
"totalCompensationMax": 12500,
"totalCompensationMin": 12500,
"url": "https://example.com/page"
}
]
},
"found": true,
"reason": "not_found"
}Full parameter and response reference - every field, type, and example for this endpoint.
Reference
One request, one response shape.
Every field you send and every field you get back, each with a real example.
Last verified 2026-10-19 · uptime and latency measured over 30d
Request body
JSON, posted to this endpoint.
- querystring
software engineer
Job title, keywords or company name to search, e.g. software engineer or google.
- limitinteger
10
Maximum number of jobs to return (1-20, default 20). Levels.fyi groups jobs by company, up to 3 per company, so several results can come from one employer.
- locationstring
united-states
Levels.fyi location slug as it appears in Levels.fyi URLs, e.g. united-states. Not a free-text city name; omit it to search everywhere.
- sortByenum
Sort order: best match (relevance), most recently posted (date), or highest total compensation (compensation).
Response
JSON, one example value per field.
Jobs in Levels.fyi's order, grouped by company. Populated whenever the provider has data for the entity.
- applyUrlstring
URL that starts the application, usually the employer's own careers page or a job board.
- companystring
Hiring company name. Populated whenever the provider has data for the entity.
- companySlugstring
Levels.fyi company slug, e.g. google; null when the source did not send one.
- createdUtcnumber
When the job was posted. UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. Populated whenever the provider has data for the entity.
- isSponsoredboolean
Whether the listing is a paid placement on Levels.fyi.
- jobIdstring
Levels.fyi job id. Populated whenever the provider has data for the entity.
- locationstring
Job location as Levels.fyi shows it, e.g. San Jose, CA. Populated whenever the provider has data for the entity.
- logoUrlstring
Company logo image URL.
- remoteboolean
Whether Levels.fyi marks the job as remote; null when it does not say.
- salaryCurrencystring
ISO 4217 currency of the salary and compensation figures, e.g. USD.
- salaryMaxnumber
High end of the base salary range in salaryCurrency per salaryUnit. null when Levels.fyi shows no salary for the job. Populated whenever the provider has data for the entity.
- salaryMinnumber
Low end of the base salary range in salaryCurrency per salaryUnit. null when Levels.fyi shows no salary for the job. Populated whenever the provider has data for the entity.
- salaryUnitstring
Pay period of the salary and compensation figures, e.g. YEAR.
- titlestring
Job title. Populated whenever the provider has data for the entity.
- totalCompensationMaxnumber
High end of the total compensation range (base, stock and bonus). Some ranges are Levels.fyi estimates. null when Levels.fyi shows none.
- totalCompensationMinnumber
Low end of the total compensation range (base, stock and bonus). Some ranges are Levels.fyi estimates. null when Levels.fyi shows none.
- urlstring
Levels.fyi job listing URL. Populated whenever the provider has data for the entity.
- foundboolean
Whether Levels.fyi returned jobs for the search.
- reason"not_found"
Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.
FAQ
About the Levels.fyi Jobs API
The AnyAPI Levels.fyi Jobs API returns Levels.fyi jobs data as normalized JSON from one POST call to /v1/run/levels.jobs. Search Levels.fyi job listings by title or keyword and get each job with its salary range and estimated total compensation where Levels.fyi has them, plus company, location, posting date and apply link. Returns up to 20 jobs per call, grouped by company; filter by location and sort by relevance, date or pay. AnyAPI returns one normalized schema whichever source serves it. It costs from $0.85 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 100.0% of Levels.fyi jobs calls through AnyAPI succeeded, with a median response time of 0.5 seconds across 1 measured calls.