Levels.fyi
Company salaries, salary rankings and compensation comparisons
Levels.fyi returns published per-level median annual pay, rankings of up to 50 companies by role/location median total pay, and cross-company pay comparisons for 2–10 companies.
Your information
Job title or family, for example "product manager".
Location to compare, for example "United States" or "Canada". Defaults to United States.
Names of 2 to 10 companies to compare, for example ["Google", "Meta", "Amazon"].
Use the same format as these example values: "Google", "Meta", "Amazon".
Use the same format as these example values: "Google", "Meta", "Amazon".
Use the same format as these example values: "Google", "Meta", "Amazon".
Example results
Product Manager pay comparison
Location: Canada, Currency: CAD
| Rank | Company | Median total per year | Base salary | Stock per year |
|---|---|---|---|---|
| 1 | CA$280,800.00 | — | — | |
| 2 | Amazon | CA$221,689.00 | CA$160,952.00 | CA$60,737.00 |
| 3 | Meta | — | — | — |
About the Levels.fyi tool
Levels.fyi returns published 50th-percentile annual pay by career level for a company and role; provide both, optionally a location.
List top paying companies ranks yearly total pay by role and location; provide a role, optionally a location and result maximum.
Compare company pay compares published median yearly pay across companies for a role and location; provide a role and 2 to 10 companies.
Built from levels.fyi. Last checked Sep 29, 2026.
Actions
Compare company pay
1 creditCompare published median yearly pay for one role across 2 to 10 companies on Levels.fyi. Pay components are null when the site does not publish them for that company and location.
What you provide
| Field | Type | Required | Description |
|---|---|---|---|
Rolerole | Text | Required | Job title or family, for example "product manager".Example: product manager |
Locationlocation | Text | Optional | Location to compare, for example "United States" or "Canada". Defaults to United States.Example: Canada |
Companiescompanies | List | Required | Names of 2 to 10 companies to compare, for example ["Google", "Meta", "Amazon"]. |
What you get
| Field | Type | Description |
|---|---|---|
Rolerole | Text | Role used for the comparison.Example: Product Manager |
Currencycurrency | Text | Published currency code, or null if no source page gives a currency.Example: CAD |
Locationlocation | Text | Location used for the comparison.Example: Canada |
Companiescompanies | List | |
Linkcompanies[].link | Text | Levels.fyi page for this company and role.Example: https://www.levels.fyi/companies/google/salaries/product-manager/locations/cana… |
Notecompanies[].note | Text | No-data message, or null when a total is available.Example: No data on Levels.fyi |
Rankcompanies[].rank | Number | Position in this comparison, highest published median first.Example: 1 |
Companycompanies[].company | Text | Company name.Example: Google |
Median Bonuscompanies[].median_bonus | Number | Published median bonus in the listed currency.Example: 31000 |
Median Base Salarycompanies[].median_base_salary | Number | Published median base salary in the listed currency.Example: 160952 |
Median Stock Per Yearcompanies[].median_stock_per_year | Number | Published median annualized stock in the listed currency.Example: 60737 |
Median Total Pay Per Yearcompanies[].median_total_pay_per_year | Number | Published median total annual pay in the listed currency.Example: 280800 |
Example result
For Role: product manager, Location: Canada, Companies: Google, Meta, Amazon
{
"role": "Product Manager",
"currency": "CAD",
"location": "Canada",
"companies": [
{
"link": "https://www.levels.fyi/companies/google/salaries/product-manager/locations/canada",
"note": null,
"rank": 1,
"company": "Google",
"median_bonus": null,
"median_base_salary": null,
"median_stock_per_year": null,
"median_total_pay_per_year": 280800
},
{
"link": "https://www.levels.fyi/companies/amazon/salaries/product-manager/locations/canada",
"note": null,
"rank": 2,
"company": "Amazon",
"median_bonus": null,
"median_base_salary": 160952,
"median_stock_per_year": 60737,
"median_total_pay_per_year": 221689
},
{
"link": "https://www.levels.fyi/companies/meta/salaries/product-manager/locations/canada",
"note": "No data on Levels.fyi",
"rank": 3,
"company": "Meta",
"median_bonus": null,
"median_base_salary": null,
"median_stock_per_year": null,
"median_total_pay_per_year": null
}
]
}Get company salaries
1 creditGet published 50th-percentile annual pay for each career level at a company and role, optionally in a location. Per-level medians may differ from the average-by-level summary table.
What you provide
| Field | Type | Required | Description |
|---|---|---|---|
Rolerole | Text | Required | Job family in words, for example software engineer.Example: software engineer |
Companycompany | Text | Required | Company name, for example Google.Example: Google |
Locationlocation | Text | Optional | Country or location shown by Levels.fyi, for example United States or India.Example: India |
What you get
| Field | Type | Description |
|---|---|---|
Rolerole | Text | Job family name.Example: Software Engineer |
Levelslevels | List | Career levels from junior to senior; pay fields are published 50th-percentile annual amounts, independently calculated. |
Page URLlevels[].page_url | Text | Public page for this level and location.Example: https://www.levels.fyi/companies/google/salaries/software-engineer/levels/l3 |
Level Namelevels[].level_name | Text | Company career level.Example: L3 |
Data Pointslevels[].data_points | Number | Number of reported pay observations shown for the level.Example: 52 |
Typical Titlelevels[].typical_title | Text | Job title for the level.Example: SWE II |
Bonus Per Yearlevels[].bonus_per_year | Number | 50th-percentile bonus per year.Example: 0 |
Stock Per Yearlevels[].stock_per_year | Number | 50th-percentile stock grant per year.Example: 25000 |
Base Salary Per Yearlevels[].base_salary_per_year | Number | 50th-percentile base salary per year.Example: 158000 |
Median Total Pay Per Yearlevels[].median_total_pay_per_year | Number | 50th-percentile total annual pay.Example: 195000 |
Companycompany | Text | Company name.Example: Google |
Currencycurrency | Text | Currency code for all annual pay amounts.Example: USD |
Locationlocation | Text | Location of pay figures.Example: United States |
Example result
For Role: software engineer, Company: Google
{
"role": "Software Engineer",
"levels": [
{
"page_url": "https://www.levels.fyi/companies/google/salaries/software-engineer/levels/l3",
"level_name": "L3",
"data_points": 52,
"typical_title": "SWE II",
"bonus_per_year": 0,
"stock_per_year": 25000,
"base_salary_per_year": 158000,
"median_total_pay_per_year": 195000
},
{
"page_url": "https://www.levels.fyi/companies/google/salaries/software-engineer/levels/l4",
"level_name": "L4",
"data_points": 58,
"typical_title": "SWE III",
"bonus_per_year": 30000,
"stock_per_year": 80000,
"base_salary_per_year": 199353,
"median_total_pay_per_year": 292500
},
{
"page_url": "https://www.levels.fyi/companies/google/salaries/software-engineer/levels/l5",
"level_name": "L5",
"data_points": 38,
"typical_title": "Senior SWE",
"bonus_per_year": 40000,
"stock_per_year": 150000,
"base_salary_per_year": 236383,
"median_total_pay_per_year": 426010.34
}
],
"company": "Google",
"currency": "USD",
"location": "United States"
}List top paying companies
1 creditList companies ranked by median yearly total pay for a job role and location. The public leaderboard displays up to 50 companies per selection.
What you provide
| Field | Type | Required | Description |
|---|---|---|---|
Rolerole | Text | Required | Job family in words, for example software engineer.Example: software engineer |
Locationlocation | Text | Optional | Country or leaderboard location, for example United States or Canada.Example: Canada |
Max Resultsmax_results | Number | Optional | Maximum companies to return, for example 25. The public leaderboard shows at most 50.Example: 8 |
What you get
| Field | Type | Description |
|---|---|---|
Rolerole | Text | Selected job family.Example: Software Engineer |
Currencycurrency | Text | Three-letter currency code for the yearly pay amounts.Example: USD |
Locationlocation | Text | Selected country or location.Example: United States |
Companiescompanies | List | |
Rankcompanies[].rank | Number | Example: 1 |
Companycompanies[].company | Text | Example: Cursor |
Company Linkcompanies[].company_link | Text | Example: https://www.levels.fyi/company/cursor/salaries/ |
Median Total Pay Per Yearcompanies[].median_total_pay_per_year | Number | Example: 1000000 |
Example result
For Role: software engineer
{
"role": "Software Engineer",
"currency": "USD",
"location": "United States",
"companies": [
{
"rank": 1,
"company": "Cursor",
"company_link": "https://www.levels.fyi/company/cursor/salaries/",
"median_total_pay_per_year": 1000000
},
{
"rank": 2,
"company": "Anthropic",
"company_link": "https://www.levels.fyi/company/anthropic/salaries/",
"median_total_pay_per_year": 882500
},
{
"rank": 3,
"company": "OpenAI",
"company_link": "https://www.levels.fyi/company/openai/salaries/",
"median_total_pay_per_year": 880000
}
]
}For developers
Call it from your code with one request. Change the values in input to run it on new data. To get an API key, open Developers at the bottom of Studio, turn on Developer mode and go to API keys.
curl 'https://api.fous.com/v1/query' \
--fail-with-body --silent --show-error --max-time 180 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H 'Content-Type: application/json' \
--data-raw '{
"api": "@levels-fyi",
"visibility": "public",
"operation": "compare_company_pay",
"version": 1,
"input": {
"role": "product manager",
"location": "Canada",
"companies": [
"Google",
"Meta",
"Amazon"
]
},
"response": {
"format": "json"
}
}'What you can do with it
- Compare pay by career level at a company.
- Rank companies by pay for a role and location.
- Compare median pay across companies for a role.
- Review published base salary, bonus, and stock pay components.
- Check reported observation counts by career level.
Questions about Levels.fyi
Can I run it with my own inputs?
Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.
Can I call this Levels.fyi tool as an API?
Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.
How much does it cost?
Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.
Do I need a Levels.fyi account?
No. You only need a Fous account.
How current is the data?
Fous gets the data from levels.fyi when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 29, 2026.
What is the median pay by level at a company?
Use Get company salaries with a company and role, and optionally a location, to get published 50th-percentile annual pay by career level.
Which companies pay the most for a role?
Use List top paying companies with a role and optionally a location to rank companies by median yearly total pay.
How does pay compare across companies?
Use Compare company pay with a role and 2 to 10 companies, and optionally a location, to compare published median yearly pay.