You're negotiating a raise and you need a number. You check Glassdoor. Then you check the Bureau of Labor Statistics. The numbers don't match — sometimes by $15K or more.
Which one is right? Neither is perfect, but they fail in different ways. Understanding the difference matters if you're about to make a career decision based on a number you found online.
How Glassdoor gets its numbers
Glassdoor collects salary data through voluntary, anonymous submissions. Someone visits the site, types in their job title, employer, location, and compensation. No verification. No pay stub upload. No employer confirmation.
This creates three problems that compound on each other.
The sample is self-selected. People who report their salary to Glassdoor are not a random sample of all workers. They skew toward knowledge workers, toward people in industries where salary transparency is culturally accepted (tech, finance), and toward people who are either proud of their pay or frustrated by it. Construction workers, nurses in rural hospitals, and administrative assistants are underrepresented.
The sample is often tiny. For a software engineer at Google in San Francisco, Glassdoor might have thousands of data points. For a dental hygienist in Boise, you might be looking at 8-15 submissions. Those aren't statistics. They're anecdotes.
Job titles aren't standardized. One person's "Senior Engineer" is another company's "Staff Developer" is another company's "Lead Programmer." Glassdoor tries to normalize these into categories, but the mapping is imprecise. When you search "software engineer salary," you're getting a mix of junior developers, senior architects, and everything in between — weighted by whoever happened to submit.
How BLS gets its numbers
The Bureau of Labor Statistics runs the Occupational Employment and Wage Statistics program. Twice a year, they send surveys to over 1.2 million employer establishments across the United States. Not individuals — employers.
The employer reports how many people they employ in each Standard Occupational Classification (SOC) code and what they pay them. The sample is stratified by industry, geography, and establishment size to be representative of the full economy. The response rate is around 75%, which is exceptionally high for a government survey.
The result: reliable wage percentiles (10th, 25th, median, 75th, 90th) for 830+ occupations across every state and 400+ metro areas.
Three things make this data fundamentally different from Glassdoor.
It's employer-reported, not self-reported. Companies report what they actually pay, not what employees think they earn. This eliminates the self-selection bias and the human tendency to round up.
The sample size is enormous. The OES program covers about 57% of total U.S. employment over a 3-year cycle. For most occupation-geography combinations, the sample is large enough to produce statistically reliable estimates. When it's not, BLS suppresses the data rather than publishing a noisy guess.
Occupations are standardized. The SOC system is the federal standard for classifying jobs. A "Registered Nurse" (SOC 29-1141) means the same thing in every state, in every survey response. There's no ambiguity about whether a title maps to a junior or senior role — the SOC code includes a defined set of duties.
Where BLS falls short
BLS data isn't perfect either. The most common criticisms:
It's old. The OES data for any given year isn't published until the following spring. So the "2025" data reflects wages paid in May 2024. If your industry just went through a salary surge (or a wave of layoffs), the published numbers lag reality by 12-18 months.
Occupation codes are broad. "Software Developers" (SOC 15-1252) includes everyone from a junior frontend developer to a principal ML engineer. The median is real, but the range within that category is vast. BLS publishes percentiles to help with this, but there's no way to filter by seniority or specialization within a single SOC code.
It excludes self-employed workers. If you're a freelance graphic designer or an independent contractor electrician, you're not in the OES data. The survey only covers employer-employee relationships.
No company-level data. BLS tells you what nurses make in Dallas. It doesn't tell you what nurses make at Baylor Scott & White specifically. For company-level numbers, you need either Glassdoor or the Department of Labor's H-1B disclosure data (which only covers visa-sponsored positions).
So which should you use?
It depends on what question you're asking.
"What's the market rate for my role in my city?" — Use BLS. The sample is larger, the methodology is more rigorous, and the percentile distribution gives you a realistic range instead of a single deceptive average. This is the number you bring to a salary negotiation.
"What does a specific company pay for this role?" — Use Glassdoor, but check the sample size. If there are 200+ reports, the number is probably in the right ballpark. If there are 15, take it with a heavy grain of salt. Cross-reference with the H-1B disclosure database if the company sponsors work visas.
"Can I afford to live in this city on this salary?" — Neither Glassdoor nor BLS answers this alone. You need to combine salary data with rent, taxes, and cost-of-living numbers. That's what we built AffordMap to do — take the BLS wage figure and show you what it actually means after rent and taxes in your specific metro.
"Is my salary fair compared to similar roles?" — Start with BLS percentiles to see where you fall in the distribution. If you're at the 25th percentile with 10 years of experience, you have strong evidence that you're underpaid relative to the market. Then use company-specific data from Glassdoor or Levels.fyi to calibrate expectations for your particular employer.
The numbers side by side
Here's how BLS and Glassdoor compare for a few common searches as of early 2026:
| Role + Location | BLS Median | Glassdoor Avg | Gap |
|---|---|---|---|
| Registered Nurse, Dallas | $79,200 | $84,500 | +$5,300 |
| Software Engineer, San Francisco | $155,000 | $172,000 | +$17,000 |
| Electrician, National | $61,590 | $56,800 | -$4,790 |
| Accountant, New York | $96,200 | $91,000 | -$5,200 |
| Teacher, Florida | $53,100 | $49,500 | -$3,600 |
The pattern: Glassdoor tends to overshoot for high-demand tech roles (where the self-selected sample skews toward well-compensated respondents) and undershoot for trades and education roles (where the sample is thinner and workers are less likely to report).
Neither source is "wrong" — they're measuring different populations with different methods. But when the gap is $17K, it matters which one you bring to a negotiation.
Our approach
AffordMap uses BLS data as the foundation because we think employer-reported, statistically sampled data is more reliable than self-reported submissions. We show the full percentile range (10th through 90th) so you can find where you likely fall, not just a single average that might not represent anyone.
Where BLS data is limited — company-level pay, real-time market shifts, seniority breakdowns — we say so rather than filling the gap with guesswork.
You can look up any occupation in any city at affordmap.com and see the BLS numbers with cost-of-living context. Every page cites the source and data year. If a number looks wrong, email corrections@affordmap.com.
Salary figures from BLS Occupational Employment and Wage Statistics (May 2024) and Glassdoor public estimates (accessed March 2026). Glassdoor figures are approximate averages as displayed on the platform and may change. Full data methodology.
