Skip to main content
SalaryTruthBLS DATA

About SalaryTruth

What does this job actually pay?

What we do

SalaryTruth publishes real BLS wage percentiles by occupation and metro so job seekers can negotiate from data, not guesses.

We focus on U.S. occupation-level salary and wage data. Every page on salarytruth.org is built from the BLS Occupational Employment and Wage Statistics (OEWS) program, cited and linkable so readers can trace any number back to its source.

Who runs this

SalaryTruth is built and maintained by the SalaryTruth Team. We're a small group working on making public U.S. occupation-level salary and wage data data easier for non-specialists to read. If you have a correction, a data tip, or a question about how a number was derived, the contact email below reaches us directly.

Who this is for

SalaryTruth is built for job seekers, HR compensation teams, career coaches, and labor-market reporters.

Why this exists

Public data on U.S. occupation-level salary and wage data is technically free, but practically locked behind file formats, acronyms, and paywalled dashboards. SalaryTruthexists to close that gap: take the raw federal and public-sector data, and turn it into pages a normal person can read in thirty seconds.

How we work

  • Primary source only. We pull from the BLS Occupational Employment and Wage Statistics (OEWS) program and cite the exact dataset and version on every page.
  • No invented numbers. If a figure is not in the underlying public data, it does not appear on salarytruth.org. We never generate synthetic statistics to fill gaps.
  • Methodology, in plain English. We pull the BLS Occupational Employment and Wage Statistics (OEWS) file for every national, state, and metro area, extract the 10th, 25th, 50th, 75th, and 90th wage percentiles for each SOC occupation, and surface employment counts alongside. No modeling or smoothing — the numbers are as BLS published them. Cost-of-living adjustments use a standard regional COL index to translate gross wages into national-baseline purchasing power for cross-metro comparisons.
  • Refreshed on a schedule. Refreshed twice a year, tracking the BLS OEWS release schedule (typically May and November reference periods). The DOL prevailing-wage cross-reference pages derive from the same BLS data, with updates flowing through automatically when the OEWS publication cycle completes.
  • Corrections welcome. Readers flag issues all the time. When the source fixes a record, SalaryTruth follows.

Known limitations

OEWS is a rolling three-year panel — reported wages reflect an average across the panel window, not a point-in-time snapshot. Very small MSAs and narrow occupations are suppressed to protect employer confidentiality and therefore show gaps. Total compensation (bonuses, equity, commissions) is not captured in BLS data, so reported wages understate total comp for many corporate, sales, and finance roles.

Why BLS OEWS is the right anchor for wage data

Alternative wage data sources — Glassdoor, Levels.fyi, Payscale, Indeed, ZipRecruiter — are self-reported and unevenly distributed. They skew toward specific roles (tech engineers over construction workers), specific industries (Fortune 500 over small business), and specific employers (companies that encourage workers to report). The resulting datasets are useful for tech-industry compensation benchmarking but unreliable for cross-occupation, cross-geography comparisons.

BLS OEWS solves the coverage problem by surveying employers (not workers) under a mandatory reporting requirement. Every U.S. employer above a size threshold reports wage data for every occupation in scope, with response rates above 75%. The sample size is large enough that BLS can publish wage data for over 800 occupations across every metropolitan area, with reliable percentile estimates rather than headline averages.

For a worker deciding what a fair offer looks like, the BLS percentile distribution (p10, p25, p50, p75, p90) is more useful than a single number. The percentile data tells you where entry-level pay sits versus mid-career versus senior; a single "average" hides the distribution. That said, BLS wages are base-wage only — total compensation (bonuses, equity, commissions) is meaningful in many roles and not reflected in OEWS.

How to read percentile wage distributions

The percentiles in BLS OEWS work this way: p10 means 10% of workers in this role earn at or below this wage, p50 (the median) means half of workers earn at or below, p90 means 90% earn at or below (so only the top 10% earn more). For most occupations the percentile distribution is right-skewed — the median is well below the mean because a small share of high earners pulls the average up.

For a worker comparing an offer against the data, the relevant percentile depends on experience level. Entry-level offers in most roles sit somewhere between p25 and p50. Mid-career offers typically cluster around p50-p75. Senior or specialized offers commonly land in the p75-p90 range. Knowing your experience-level percentile helps frame whether an offer is competitive or not — an offer at p35 with five years of experience is materially below market.

Geographic context also matters. The same gross wage that puts you at p50 in a low-cost-of-living metro might place you at p25 in a high-cost metro. The cost-of-living adjustment on each city page translates gross wages into national-baseline purchasing power, which is the more honest comparison for relocation decisions.

What this data cannot tell you

Three meaningful gaps worth knowing about. First, total compensation. BLS OEWS captures base wage only. Stock-based compensation at large public tech companies routinely doubles or triples base wage for senior engineers. Sales commissions and bonuses can dominate base pay in many B2B sales roles. Year-end bonuses at investment banks and law firms can equal or exceed annual base. The OEWS numbers are useful as a floor but understate total comp for many roles.

Second, individual variation within a role. The percentile distribution captures inter-worker variation in pay for the same SOC code, but it does not break out the factors driving that variation: years of experience, specific employer, specialization within the role, individual performance, equity stake at startups. A worker comparing their offer against p75 needs to know whether their experience and specialization actually correspond to p75 worker characteristics in the BLS sample.

Third, the cost-of-living index is regional, not personal. The standard COL adjustment captures average household cost differences between metros, but individual household costs depend on housing tenure, family size, education obligations, healthcare needs, and lifestyle choices. A young single worker and a family of five facing the same gross wage in the same metro will experience very different real purchasing power.

Independence

SalaryTruth is an independent publication. We are not funded, owned, or directed by any of the agencies, companies, or organizations that appear in our data. Hosting is paid for by advertising — see our Privacy Policy for details — and we do not take paid placements, sponsored rankings, or "remove-my-entry" fees.

History

SalaryTruth launched in 2025 as part of a small portfolio of independent public-data sites. It has been maintained and updated continuously since.

Contact

Tips, corrections, data-partnership questions, and press inquiries: hello@salarytruth.org. More options on our contact page.