You get an offer for $165K base. Glassdoor says the role pays $142K on average. Levels.fyi says $210K total comp is the median for your level. Which number do you walk into the negotiation with?
Pick wrong and you leave $20K+ on the table — or torch the offer by anchoring to a number that doesn't exist for your company, level, or location.
Here is what each site actually measures, where each one quietly misleads you, and how to combine them so you negotiate from a number you can defend.
The one-sentence version
Glassdoor is broad and shallow: lots of companies, mostly base salary, self-reported by anyone with an account, skewed toward people who are unhappy enough to post.
Levels.fyi is narrow and deep: mostly tech, total compensation broken into base/stock/bonus, verified against offer letters and W-2s, but biased toward senior engineers at a short list of well-known companies.
They answer different questions. Using them interchangeably is why your "market rate" research keeps feeling wrong.
How Glassdoor actually collects its data
Glassdoor's salary numbers come from users who voluntarily enter what they earn, usually in exchange for unlocking the site's content ("give to get"). There is no required proof. The data covers almost every industry, which is its genuine strength — if you're negotiating a marketing manager role in Columbus or a nurse practitioner job in Phoenix, Levels.fyi has nothing for you and Glassdoor has hundreds of entries.
What to watch for:
- Base salary bias. Most Glassdoor entries capture base pay cleanly but under-report stock, sign-on, and bonus. For any role where equity is a serious part of comp, the "average salary" on Glassdoor is systematically low.
- Title inflation and compression. "Software Engineer" at Glassdoor lumps together an L3 new grad and an L6 staff engineer at the same company. The average is meaningless; the role is actually two or three distinct bands.
- Stale entries. Comp posted in 2021 sits in the same average as comp posted last month. In a market that moved 15–25% in either direction over the last few years, that matters.
- Selection bias. People post when they're job hunting, frustrated, or want to unlock reviews. That skews slightly low in hot markets and slightly high in cold ones.
Glassdoor is directionally useful for range ("is this role a $70K job or a $120K job?") and almost useless for precision ("should I counter at $178K or $185K?").
How Levels.fyi actually collects its data
Levels.fyi started as a Google-vs-Facebook comp comparison and expanded from there. Submissions are mapped to a specific internal level (Google L5, Meta E5, Amazon L6), broken into base + stock + bonus + sign-on, and a meaningful fraction are verified against offer letters or W-2 uploads.
Where it's excellent:
- Total comp, not just base. For any role with equity, this is the only honest view of what the job pays.
- Level mapping. The site tells you that Meta E5 ≈ Google L5 ≈ Amazon L6, which is the single most useful piece of information when you have competing offers.
- Vesting schedules and refreshers. Front-loaded (Amazon) vs. four-year even (most) vs. one-year cliffs — Levels.fyi captures the shape of the comp, not just the number.
Where it quietly fails:
- Coverage collapses outside tech. Non-engineering roles, non-tech companies, and companies below ~500 employees have thin or zero data.
- Senior skew. Submissions over-index on L5+ engineers. The L3/L4 numbers you see are often averaged from fewer data points than the display suggests.
- Peak-of-market anchoring. Numbers posted during the 2021–2022 tech comp spike are still in the averages. If your target company has since reset bands, Levels.fyi will overstate what's currently achievable.
- Public-company bias. RSU values require a share price. Private-company equity gets reported as a strike price or a notional value that may bear no relationship to what the stock is actually worth.
Side-by-side: when to use which
| Situation | Use Glassdoor | Use Levels.fyi |
|---|---|---|
| Non-tech role (nursing, marketing, finance ops) | ✅ Primary source | ❌ Thin data |
| Tech role at a FAANG-tier company | ⚠️ Base only | ✅ Primary source |
| Tech role at a Series A–C startup | ⚠️ Patchy | ⚠️ Patchy (check both) |
| Comparing competing offers across companies | ❌ Can't normalize levels | ✅ Level mapping is the point |
| Negotiating base-only comp (government, academia, many public sector) | ✅ | ❌ |
| Understanding equity vesting shape | ❌ | ✅ |
| Role in a non-US market | ⚠️ Variable | ⚠️ US-heavy, improving |
The accuracy gap neither site closes
Even combined, both sites share one blind spot: neither one tells you what this specific recruiter at this specific company has approved in the last 90 days for someone with your exact leverage.
Market data tells you the band. It doesn't tell you:
- Where in the band this company tends to open vs. close offers
- How much room the recruiter has without re-approval
- Whether sign-on is the flexible lever this quarter, or base is
- Whether your competing offer actually moves this hiring manager, or whether they've seen it ten times this month
That gap is the entire reason negotiations feel like guessing even when you've done the research.
How to actually use both sites before a negotiation
- Start with Levels.fyi if you're in tech, Glassdoor if you're not. Get a defensible range for your level and location.
- Cross-check with the other. If the two disagree by more than ~15%, something is off — usually title mismatch, stale data, or equity being counted on one side and not the other. Figure out which before you quote any number.
- Filter aggressively. Last 12 months only. Your exact level, not a range. Your metro, not "US average." A median built from 8 data points you've vetted beats a mean built from 400 you haven't.
- Separate base from total. Walk into the call knowing both numbers. Recruiters often anchor on one to make the other look generous.
- Translate the number into a sentence. Market data is useless if you freeze when the recruiter asks "what are you looking for?" The number has to come out of your mouth in a specific, rehearsed phrasing.
That last step is where most well-researched candidates still lose money. You can know the exact 75th percentile and still agree to the first number offered because the script wasn't ready.
Where SalaryAsk fits
Glassdoor and Levels.fyi give you data. SalaryAsk gives you the script — paste the offer, the role, the company stage, and your leverage, and get the exact counter number plus the sentence to say it in. We cross-reference the same public data these sites expose, then layer in what we see across thousands of real negotiations: which companies move on base vs. sign-on, which recruiter openers signal room, which don't.
Use Glassdoor and Levels.fyi to decide if the offer is in the right ballpark. Use SalaryAsk to decide what to say next.
The honest answer to "which is more accurate"
For total compensation at a well-known tech company: Levels.fyi, by a wide margin.
For everything else — most industries, most companies, most roles that exist in the economy: Glassdoor, by default, because it's the only one with coverage.
For the number you're actually going to say out loud in your negotiation: neither, on its own. Combine them, filter hard, and have your counter-script written before the call starts.