Pushbuild

Salary Benchmarks - US Wages by Job Title, State & City

US salary data for about 830 occupations nationally, in every state and every metro area: employment, mean wage and 10th, 25th, median, 75th and 90th percentile hourly and annual pay, from the official BLS wage survey (May 2025).

$0.40 per 1,000 records

Get an API key

What it returns

Pay ranges for about 830 occupations across the United States, every state and every metro area, from the Bureau of Labor Statistics Occupational Employment and Wage Statistics survey (May 2025 release, covering about 1.1 million employers).

Area name and type, occupation code and title, employment, jobs per 1,000, location quotient, mean hourly and annual wage, and 10th, 25th, median, 75th and 90th percentile hourly and annual wages.

Common uses

Salary benchmarking and compensation planning, job-offer and pay-equity checks, recruiting and job-post pay ranges, relocation and cost comparisons, workforce and site-selection research. Pay per record. Wages above the survey's top reporting band are not published by BLS and come back empty.

Request

POST https://api.pushbuild.com/salary-benchmarks/run with a JSON body. Send your key in the X-API-Key header.

FieldTypeDescription
occupationslist of stringsJob titles or keywords (all words must match) or SOC codes such as 15-1252. Leave empty for all occupations.
locationslist of stringsUS (national), state names or abbreviations, or metro area names such as Boston or Austin. A state abbreviation also matches its metro areas. Leave empty for everywhere.
areaTypeslist of stringsLimit to national, state or metro.
minEmploymentintegerSkip occupations with fewer jobs than this in the area.
sortBystring: annualMedian, annualMean, employment, locationQuotientOrder of results, highest first. Default: "annualMedian".
maxItemsintegerMaximum items to return (1-500). Default: 100.

Example

curl -X POST https://api.pushbuild.com/salary-benchmarks/run \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"occupations": ["software developers", "registered nurses"], "locations": ["US", "MA", "Austin"], "maxItems": 20}'

Response

{"count": 20, "truncated": false, "seconds": 1.4, "items": [ { ... } ]}

Each call returns up to 500 items. Records that fail validation or are not found are flagged in the items and not charged.

Pricing

Pay only for results returned: $0.40 per 1,000 records. No charge for errors or empty searches.

Tell us what you need built.

Questions about this API, higher volumes, or a data source you need that we don't cover yet.

hello@pushbuild.com

(617) 299-8887

Tell us about your project

A few questions so we can come back with a written scope. We reply within one business day.