Salary data from job postings

454,926 of the 1,462,892 live postings state their pay. Alion keeps the range as written and its value in US dollars a year, and aggregates them by role, seniority, city, company and team. Estimates for postings without a range are marked as estimates and never mixed into stated pay.

Numbers counted 12 Oct 2026
postings with stated pay
454,926
live postings
1,462,892

Why posted ranges

A posted range is what the employer commits to for a role it has open today. Pay transparency laws in California, New York, Washington, Colorado and other states made it the norm for US postings, and it is spreading in Europe. It is fresher than a survey and cannot be inflated by respondents.

What you can get

  • Every posting with its stated range (job.getList, job.get)
  • A company's pay by role, level and city (company.get with slices=pay)
  • A market slice: pay percentiles for a role, country or technology (market_stats in the AI agents, 1 credit)

Try it with 30 free credits

Run the request in the console, see the JSON and the price before you pay for anything.

Questions

Is it base pay or total compensation?

Base pay as posted. Equity and bonus are recorded when a posting states them, but they are not added to the salary figures.

Alion data productsUpdated 12 Oct 2026MethodologyJSONCC BY-SA 4.0