How do you research your actual market salary?
Negotiation without data is guessing. With data, negotiation is credible and defensible. This article walks through the tools, techniques, and mindset for becoming an expert on what your role is worth. The goal is to arrive at an offer conversation not wondering "am I asking for too much?" but instead knowing exactly what your market rate is and where you fit within it.
Quick definition: Salary research is the systematic collection of compensation data from multiple sources to establish the fair market value for a specific role in a specific location. It transforms an emotional ask ("I feel underpaid") into a data-backed request ("Junior developers in Denver average $85,000–$98,000 for your requirements").
Key takeaways
- Multiple data sources paint a more accurate picture than any single site
- Public salary databases (Glassdoor, Levels.fyi, BLS) are free and reasonably accurate
- Compensation varies sharply by location, experience level, company size, and industry segment
- Network research (talking to peers anonymously or through professional groups) often reveals higher ceilings than public data
- Timing matters—salaries for your role may have jumped 15%+ in the last year
- Always bring a range to a negotiation, not a single number
The data sources landscape
Salary data comes from four categories:
- Public aggregate databases (Glassdoor, Indeed, Levels.fyi, Salary.com): free or freemium, reviewed by actual employees, lag reality by 3–12 months
- Government and labor sources (Bureau of Labor Statistics, Bureau of Economic Analysis): free, slower updates, broad occupational categories
- Private surveys and reports (PayScale, Mercer, Radford, Pearl Meyer): paid, more granular, industry-specific, typically used by HR professionals
- Network and direct sources (recruiters, professional organizations, informed peers, Blind): real-time but anecdotal, requires discretion and interpretation
The best practice is triangulation: check at least three sources and look for consensus. If Glassdoor says $85,000 and Levels.fyi says $93,000, the truth is probably somewhere in between—and the variance itself is valuable data (it tells you there is a wide range and you should aim high).
Glassdoor: the starting point
Glassdoor is the most widely used free salary database. It aggregates self-reported salaries from current and former employees.
How to use it:
- Go to glassdoor.com, click "Salaries"
- Search your job title (e.g., "Senior Software Engineer")
- Filter by location (city or metro area)
- Filter by company (optional)
- Set date range if available (newer data is better)
What you'll see:
- Base salary range (with 25th, 50th, 75th percentiles)
- Bonus averages
- Stock awards (equity) distribution (for tech)
- Total compensation range
Strengths:
- Large dataset (millions of salary reports)
- Company-specific data (search a specific employer)
- Breakdowns by level (junior, mid-level, senior, principal)
- Free
Limitations:
- Heavily weighted toward tech and finance (skews high for those industries, absent for others)
- Self-reported, so accuracy varies
- Data can be 6–12 months old
- Bonus and equity estimates are often overstated (people report optimistic vesting or payouts)
Example:
You search "Product Manager" in "Seattle, WA" and see:
- Base salary: $105,000–$145,000 (median: $125,000)
- Bonus: 10–20% of base (median: 15%)
- Stock awards: $20,000–$80,000 annually (median: $45,000)
This tells you the typical total comp is in the $150,000–$200,000 range, with base being the smaller slice. If a company offers $115,000, you now know you have room to push for $125,000+ base before even discussing bonus.
Levels.fyi: the tech deep-dive
Levels.fyi is specialized: it collects compensation data specifically for tech roles (software engineers, product managers, data scientists, etc.) at large tech companies.
How to use it:
- Go to levels.fyi
- Select your role (e.g., "Software Engineer")
- Filter by company, level (SDE1, SDE2, SDE3, etc.), and location
- Browse the salary bands
What you'll see:
- Base salary
- Sign-on bonus
- Annual stock grant
- Refresher grants each year
- Total compensation breakdown
Strengths:
- Highly accurate for Big Tech and growth-stage startups (primary user base)
- Breaks down compensation into components clearly
- Shows salary progression by level
- Good for understanding the structure of offers (base + equity + bonus)
Limitations:
- Limited to tech/tech-adjacent roles
- Heavy on Big Tech; less data for mid-market or traditional companies
- Concentrated in a few hubs (SF, NYC, Seattle)
- Self-reported
Example:
You search "Software Engineer Level 4" at "Google" in "Mountain View":
- Base: $150,000–$165,000
- Sign-on bonus: $50,000–$60,000
- Annual stock grant: $120,000–$150,000
- Total year 1 comp: $320,000–$375,000
- Annual comp (years 2+): $250,000–$300,000 (equity continues to vest, bonus varies)
Now you understand that in Big Tech, the majority of comp is equity, which matters for your negotiation strategy. Pushing for a higher base might be less fruitful than negotiating a higher equity grant or sign-on bonus.
Bureau of Labor Statistics (BLS): the official baseline
The U.S. Bureau of Labor Statistics publishes the Occupational Employment and Wage Statistics (OEWS) quarterly. This is the most rigorous government source.
How to use it:
- Go to bls.gov/oes
- Select your occupation (you may need to translate "Senior Marketing Manager" into BLS's taxonomy, e.g., "Advertising and Promotions Manager")
- Filter by state or metropolitan area
- See the wage distribution (10th, 25th, 50th, 75th, 90th percentiles)
What you'll see:
- Annual wages for your occupation
- Percentile distribution
- Number of people employed in that role
- Trends over time
Strengths:
- Official, unbiased government data
- Extremely reliable
- Covers nearly all occupations
- Updated regularly
- Free
Limitations:
- Broad occupational categories (so "Senior Manager" might be lumped with "Manager")
- Lags reality by 6–12 months
- Does not break down by company or industry segment precisely
- Does not include non-wage benefits or equity
Example:
You look up "Software Developers, Applications" in "Denver-Boulder-Greeley, CO" (May 2023 data) and see:
- Median annual wage: $118,270
- 75th percentile: $155,880
- 90th percentile: $180,780
This gives you confidence that asking for $130,000 is well-grounded, and pushing toward $150,000 is reasonable for experience.
PayScale, Mercer, and professional surveys
PayScale (salary.com is similar) provides more granular compensation data than Glassdoor, with filters for experience, education, company size, and performance.
How to use it:
- Go to payscale.com
- Search your job title
- Filter by years of experience, company size, location, industry
- Browse the salary distribution
Strengths:
- Highly customizable filters (narrow to your exact profile)
- Shows how each variable (location, experience, company size) affects salary
- Good for mid-career and white-collar roles
Limitations:
- Most detailed features are behind a paywall
- Smaller dataset than Glassdoor
- Also self-reported
Use case: If you are a "Financial Analyst" in "Charlotte, NC" with "5 years experience" at a "mid-size bank," PayScale will narrow the field to comps very close to you. This is more useful than broad Glassdoor data.
Network research: the hidden ceiling
Public databases set a baseline, but they often underestimate the ceiling. The reason: candidates who negotiate successfully are less likely to report their final salary online (and may not want to). Highly paid candidates are also less likely to fill out Glassdoor reviews (they are busy).
Network research fills this gap.
Where to find salary data through your network:
-
Reddit and anonymous forums: r/cscareerquestions (for tech), r/financecareers, r/accounting, industry-specific subreddits. People are frank because they are anonymous.
-
Professional associations: Many industries have salary surveys exclusive to members (IEEE for engineers, ASCE for civil engineers, local bar associations for lawyers, etc.). These are often more current and accurate than public sources.
-
LinkedIn: You can sometimes infer compensation from job postings that list salary ranges (increasingly common). Also, recruiters often have salary intelligence.
-
Recruiters: Even if you are not actively job hunting, talking to recruiters in your field gives you real-time market intelligence. Say, "I'm curious what the market looks like for senior roles in my industry," and a good recruiter will share ranges.
-
Informational interviews and peer networks: A peer who moved to a new company in the last year can tell you what they negotiated. Frame it carefully ("I'm thinking about next steps and curious what the market looks like for people like us") to avoid awkwardness.
-
Blind (formerly Blind App): An anonymous professional network where Big Tech and other high-paid employees discuss compensation. Highly specific, but with the caveat that Blind skews toward the highest-paying companies and roles.
-
Company Slack channels and "compare salaries" threads: Some company Slacks have running threads where employees share salaries anonymously. This is particularly common in startups.
How to interpret network data:
Network data is real-time but anecdotal. If one peer says they negotiated to $180,000, that's a data point, not a guarantee. Three peers saying it? That's a pattern.
The value of network research is identifying outliers—the people who landed at the high end. If Glassdoor says the range is $100,000–$130,000, but three people you know in the same role at the same company got $140,000–$155,000, the true ceiling is higher than the public data suggests.
Geographic variation and cost-of-living adjustment
Salary varies dramatically by location. A "Senior Engineer" in San Francisco earns 40–50% more than the same role in Pittsburgh, even at the same company.
Always adjust for location. Tools like:
- Numbeo cost-of-living calculator: Shows relative cost of living
- Salary.com's "cost of living adjustment" calculator: Directly compares salary needs
- Indeed and Glassdoor's location filters: See the salary difference between cities for the same role
Example:
Same company, same senior engineer role:
- San Francisco: $160,000–$180,000 base
- Seattle: $145,000–$165,000 base
- Austin: $130,000–$150,000 base
- Pittsburgh: $110,000–$130,000 base
This is not unfairness; it is market reality. Real estate, talent availability, and cost of living differ.
When you move, you can often negotiate higher (new employer pays market rate for that location), but you should not expect a raise just because cost of living is the same between two cities. (You might get one, but it is not guaranteed.)
Experience level and title creep
The same title across companies can mean wildly different roles. "Product Manager" at a startup might mean individual contributor (doing the work), while "Product Manager" at a Fortune 500 means managing other PMs. This affects salary dramatically.
Always account for:
- Company stage: Startup PMs are often paid less (equity upside) but do more. Late-stage company PMs are more specialized and better paid.
- Company size: A "Manager" at a 20-person startup is very different from a "Manager" at a 5,000-person company.
- Scope: A PM managing one product vs. a PM managing a portfolio of products—the latter earns 20–40% more.
- Years of experience: This is the clearest variable. A "5 years experience" comp is 30–50% lower than a "12 years experience" comp for the same title.
When researching, filter as specifically as possible. If you are "5 years in" as an "Account Manager," do not compare yourself to "15 years in" "Senior Account Manager"—that is misleading.
Creating your salary range
Once you have assembled data from 3–4 sources, synthesize it.
Process:
- List your role, location, experience level, and company size (startup/mid-market/enterprise).
- Collect data from Glassdoor, Levels.fyi (if tech), BLS, and one network source.
- For each source, note the 25th, 50th (median), and 75th percentile salaries.
- Identify outliers (a source that is way higher or lower than the others).
- Average the medians from your sources.
- Set your range: conservative estimate (40th percentile) to ambitious (70th percentile).
Example:
You are a "Marketing Manager" in "Austin, TX" with "6 years experience" at "mid-size B2B SaaS company."
| Source | 25th | 50th | 75th |
|---|---|---|---|
| Glassdoor | $65,000 | $82,000 | $105,000 |
| PayScale | $72,000 | $88,000 | $112,000 |
| BLS (General Marketing Manager) | $58,000 | $80,000 | $118,000 |
| Network (3 peers) | - | $90,000–$105,000 | - |
Synthesis:
- Median across sources: ~$85,000
- Conservative range: $78,000–$88,000 (40th–50th percentile)
- Ambitious range: $95,000–$110,000 (60th–75th percentile)
- Your target: Ask for $100,000, expect $92,000–$98,000
This gives you a credible anchor and room to negotiate.
Timing: when to refresh your research
Salary markets change. After the COVID-19 pandemic, tech salaries jumped 20–30% in 2021–2022, then plateaued in 2023–2024. Research from 2022 would overestimate today's market.
Refresh your research:
- Every 6–12 months if you are actively considering a move
- When the job market shifts (after a recession, after major industry disruption)
- When you see a new job posting from a company you admire (note the salary range if listed)
- When you talk to a recruiter (they have live market data)
A rule of thumb: if your data is older than a year, cross-check it with something fresh before using it in a negotiation.
Real-world examples
Case: Jennifer, data analyst, 2023
Jennifer had worked for three years and wanted to move to a higher-paying company. She researched three sources:
- Glassdoor: $58,000–$78,000 (mid-point: $68,000)
- PayScale: $62,000–$82,000 (mid-point: $72,000)
- BLS data scientist role (broader): $65,000–$100,000 (mid-point: $82,000)
She landed a job offer at $70,000. Using her research, she felt confident asking for $75,000 (not unreasonable, based on PayScale and BLS data). The company came back at $72,500. She accepted. Her research took two hours and netted her $2,500 annually ($25,000 over the career of that role)—over 1,000% return on time invested.
Case: Raj, software engineer, 2024
Raj was a mid-level engineer in Seattle being recruited by a startup in the same city. The startup offered $155,000 base + $35,000 bonus. He checked Glassdoor (range: $140,000–$180,000), Levels.fyi (similar companies: $160,000–$185,000), and talked to two peers who had recently joined similar startups at $160,000–$170,000 base.
He negotiated to $165,000 base and kept the $35,000 bonus. The extra $10,000 base annually compounded his lifetime earnings by approximately $300,000 (assuming 3% annual raises for 30 years and the raise applying to all future bonuses and equity).
Common mistakes
Mistake 1: Using only one source. Glassdoor alone is not enough. Combine at least three sources to triangulate.
Mistake 2: Ignoring location adjustment. A $100,000 salary in San Francisco is equivalent to ~$65,000 in Pittsburgh. If you are moving, adjust your expectations.
Mistake 3: Comparing yourself to the wrong level. If you are mid-level, do not use senior-level comps. The variance is huge.
Mistake 4: Relying entirely on network gossip. If your friend negotiated to $120,000, that's one data point. Do not make that your anchor if three other sources say $90,000.
Mistake 5: Not accounting for benefits. A $90,000 salary + 10% bonus + matching 401k + 4 weeks PTO is different from $95,000 + no bonus + 2 weeks PTO. Total comp matters.
FAQ
How do I know if my research is current?
Check the data-collection date on the source. Glassdoor shows "Updated X days ago." BLS data has a publication date. If your freshest data is more than 12 months old, look for something newer. Recruiter conversations are always current.
Should I share my research in a negotiation?
Not directly. Do not say, "Glassdoor says I should make $95,000." Instead, say, "Based on my research of market rates for this role in this city, a competitive salary is in the $92,000–$100,000 range. I'm looking for $95,000." The research supports your ask; it does not have to be cited explicitly.
What if my research shows I'm already overpaid?
That is good news for your current employer. If you are considering an internal promotion or raise, you have data showing that you are a bargain. If you are job hunting, you have clear expectations.
Can I use outdated data if I note that it's old?
Partially. "According to last year's BLS data, the median was X, though I expect it has risen" is honest and defensible. But do not rely entirely on stale data. Cross-check with something current.
How do I research salary for a brand-new role that did not exist five years ago?
Look for the closest comparable role (e.g., "Data Engineer" can be researched using "Software Engineer" comps, adjusted down 5–10%). Talk to recruiters—they specialize in new roles and have real market intelligence.
Is it legal to share or ask about salaries at work?
In the United States, yes. The National Labor Relations Act protects wage discussion. However, some companies discourage it culturally, and discretion is wise to avoid tension. Anonymous forums and surveys are a safer alternative if you want to gather peer data without naming names.
Related concepts
- Why salary negotiation matters — the financial case for doing the research
- Glassdoor vs Levels.fyi — detailed comparison of these two platforms
- The counter-offer script — how to present your research in the negotiation conversation
- Credit scores and reports — understanding your financial profile
- Banking — where your negotiated salary gets deposited
- Side income — how salary research applies to side work pricing
Summary
Effective salary negotiation starts with data. Use a triangulation approach: combine Glassdoor for breadth, Levels.fyi (if in tech) for granularity, BLS for official baselines, and network research for ceiling discovery. Adjust for location, company size, and experience level. Synthesize your sources into a range (conservative to ambitious) and use that as your anchor in the offer conversation. Fresh research (within 12 months) is worth the two-hour investment, given the thousands of dollars at stake.