US Salary Dataset
Daily-updated salary data from live job listings. Covers 265 job titles across 166 US cities — 5,205 role/city data points. Machine-readable JSON available for every data point. Free, open, no API key required.
Dataset Contract
Public salary dataset designed for both human browsing and machine consumption. Every role/city page exposes a deterministic JSON endpoint with open CORS headers.
For Data Teams
The public JSON feed is deterministic-only. Commentary may appear in human-facing HTML pages, but machine-readable salary feeds stay source-derived and schema-stable.
Browse by Job Title
Salary distributions across all covered cities for each role.
Browse by City
All covered roles and their compensation within each metro area.
How to use this data
Every role-city page has a JSON endpoint at
/data/salaries/{title}/{city}.json — no authentication, open CORS headers.
Includes average salary, min/max range, total active listings, and a salary histogram.
Example request
curl https://jobsjobsjobsapp.com/data/salaries/recruiter/bellevue.json
Live response — Recruiter in Bellevue, WA
{
"as_of": "2026-03-19T04:32:13.918000",
"avg_salary": 73239,
"city": "Bellevue",
"coverage_note": "Aggregated posting signal from the ingestion pipeline, not a complete census of every open job.",
"data_type": "aggregated_job_posting_salary_data",
"deduplication_note": "Counts reflect the upstream posting feed and Jobs Jobs Jobs validation; duplicate postings may still exist in aggregated totals.",
"methodology_url": "https://jobsjobsjobsapp.com/data/methodology/",
"primary_source": "Adzuna",
"refresh_cadence": "nightly target; stale markets are refreshed on a rotating schedule",
"salary_histogram": {
"100000": 57397,
"120000": 35427,
"140000": 57532,
"20000": 23785,
"40000": 50439,
"60000": 335293,
"80000": 184373
},
"salary_max": 140000,
"salary_min": 20000,
"schema_version": "2026-04-21",
"source": "jobsjobsjobsapp.com",
"state": "WA",
"title": "Recruiter",
"total_jobs": 13244,
"updated_at": "2026-03-19T04:32:13.918000",
"url": "https://jobsjobsjobsapp.com/data/salaries/recruiter/bellevue/"
}
Schema
| Field | Type | Description |
|---|---|---|
schema_version | string | Version tag for the public JSON contract |
primary_source | string | Upstream data source used for the salary dataset |
refresh_cadence | string | How often the dataset is refreshed |
as_of | string | ISO 8601 timestamp for the current record snapshot |
avg_salary | number | Mean annual salary (USD) across all listings |
salary_min | number | Lowest salary found in listings |
salary_max | number | Highest salary found in listings |
total_jobs | number | Active job listing count at time of update |
salary_histogram | object | Distribution buckets — key is salary floor, value is listing count |
updated_at | string | ISO 8601 timestamp of last data refresh |
Data source
Aggregated from the Adzuna API using live job postings. Updated daily. Not affiliated with Adzuna. Cross-reference with BLS OES for government benchmarks.
Data sourced from Adzuna job listings. Updated daily. Salaries are gross annual estimates based on active postings. Not financial or legal advice. Sitemap