Salary Intelligence
Salary Data by Role and Location
Percentile salary ranges from 45 role+city combinations across 45 roles. All numbers come from job postings with disclosed pay, refreshed monthly.
45
Roles
45
City Combos
Software Engineer
1 cityBackend Developer
1 cityFullstack Developer
1 cityMobile Engineer
1 cityData Engineer
1 cityFrontend Developer
1 cityDevOps Engineer
1 cityPlatform Engineer
1 citySite Reliability Engineer
1 cityNetwork Engineer
1 cityCloud Engineer
1 citySolutions Architect
1 cityAI Engineer
1 cityMachine Learning Engineer
1 cityData Scientist
1 cityData Analyst
1 citySecurity Engineer
1 cityQA Engineer
1 citySupport Engineer
1 cityProduct Analyst
1 cityContent Marketing
1 citySEO Specialist
1 cityCustomer Success
1 cityProduct Designer
1 cityUX Designer
1 cityUI Designer
1 cityProject Manager
1 cityScrum Master
1 cityTechnical Writer
1 cityAccount Executive
1 citySales
1 cityRevenue Operations
1 cityBusiness Analyst
1 cityFinancial Analyst
1 cityCompliance Analyst
1 cityRecruiter
1 citySupply Chain Manager
1 cityCivil Engineer
1 cityMechanical Engineer
1 cityElectrical Engineer
1 cityNurse
1 cityProduct Manager
1 cityMarketing Manager
1 cityOperations Manager
1 cityHR Manager
1 cityHow We Collect Salary Data
ShouldApply pulls job postings from 4 boards every 2 hours: JSearch, Remotive, Adzuna, and Wellfound. When a posting includes an explicit salary range, we normalize it to an annual figure and tag it with a role classification and city. Hourly, weekly, and monthly rates are all converted. We discard anything below $15K or above $500K as outlier data. The benchmarks you see here require a minimum of 5 postings per role/city pair before we publish.
What the Percentiles Mean
Each salary page shows five percentile markers: 10th, 25th, 50th (median), 75th, and 90th. The "typical range" is the 25th-75th band, which covers the middle half of disclosed salaries. The 10th percentile often reflects entry-level or smaller-company postings. The 90th captures senior positions and top-paying employers.
Why This Beats Glassdoor Estimates
Self-reported salary surveys carry bias. People who feel overpaid or underpaid are more likely to report. Our data comes from employer-disclosed ranges in actual job postings, which reflect what companies are offering right now. Sample sizes are smaller, but the signal is cleaner.
Frequently Asked Questions
How often is salary data updated?
Benchmarks are recomputed monthly from all scored job postings in our database. The underlying job data refreshes every 2 hours across 4 boards.
What's the minimum sample size for a salary page?
We require at least 5 job postings with disclosed salary for any role+city page to appear. Pages with fewer than 10 postings carry a "low confidence" label.
Do these numbers include bonuses or equity?
No. These are base salary ranges as listed in job postings. Total compensation (including bonuses, equity, and benefits) varies by employer.
Can I see salary data for remote roles?
Remote positions don't have a city attached, so they're included in the national aggregate for each role but not on city-specific pages.
How does this relate to the salary estimator tool?
The salary estimator uses static heuristics for roles that don't list pay. These benchmark pages use real disclosed salary data from actual postings. Both are free.
Salary is one dimension. What about skills, seniority, and logistics?
ShouldApply scores your full profile against every posting. 0-100, with a breakdown.