Real compensation benchmarks from actual employer job postings
Most salary data comes from surveys: self-reported, lagging by months or years, and skewed by who chooses to respond. CleanJobData takes a different approach — we extract salary ranges from actual employer job postings as they're listed. When a company posts a Senior Backend Engineer role in London at £80k–£110k, that goes into the API as structured data. Query by role, seniority, location, and employment type to get a real picture of what the market is actually offering right now.
Survey data is self-reported and has selection bias — people who share salaries tend to be at certain companies or seniority levels. CleanJobData's salary data comes from employer job postings, which reflects what companies are actively willing to pay to hire someone right now. Both are useful; they answer different questions.
It varies significantly by country and employer. In the US, salary transparency laws (Colorado, California, New York) have significantly increased the number of listings with salary ranges. UK employers are also improving. Globally, roughly 30–40% of listings in our index include salary data — more than enough for meaningful benchmarking at the role and market level.
Yes — use date range filters to query salary data across different time windows and compare. For historical bulk exports, contact us for options beyond the standard API.
We normalize to annual where possible, but include the raw salary text field alongside the parsed min/max so you can validate the normalization. For contract roles expressed as hourly rates, the raw text is the most reliable field to display.