Salary Data by Occupation: BLS Wages by State avatar

Salary Data by Occupation: BLS Wages by State

Pricing

from $5.50 / 1,000 occupation checkeds

Go to Apify Store
Salary Data by Occupation: BLS Wages by State

Salary Data by Occupation: BLS Wages by State

Look up official U.S. Bureau of Labor Statistics wage and employment data for an occupation, nationally or by state, using its SOC code. Annual mean and median wage, hourly wage, and employment counts, straight from the OEWS survey.

Pricing

from $5.50 / 1,000 occupation checkeds

Rating

0.0

(0)

Developer

Timothy Kelvin

Timothy Kelvin

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

BLS Occupation Wage Lookup: National & State Pay Data

Give it an occupation's SOC code. Get back official U.S. Bureau of Labor Statistics wage and employment data, nationally or for a specific state, straight from the Occupational Employment and Wage Statistics (OEWS) survey.

Who this is for

  • HR and recruiting teams benchmarking a role's compensation against national or state pay data before making an offer.
  • Compensation analysts building pay bands grounded in official government data instead of self-reported salary sites.
  • Researchers and journalists covering labor market and wage trends by occupation and state.

Input

FieldTypeDescription
occupationsarray[{ "socCode": "15-1252", "stateCode"?: "TX" }]. socCode is the 6-digit Standard Occupational Classification code, find yours at bls.gov/soc. Omit stateCode for national data, or use a two-letter USPS code for state-level data.
apiKeystring (optional)Free registration key from bls.gov/developers, raises the daily request limit and historical range. Not required for small batches.
{
"occupations": [
{ "socCode": "15-1252" },
{ "socCode": "15-1252", "stateCode": "TX" }
]
}

Output

One record per occupation lookup:

{
"socCode": "15-1252",
"stateCode": null,
"found": true,
"annualMeanWage": 148100,
"employment": 1687890,
"hourlyMeanWage": 71.2,
"annualMedianWage": 135980,
"hourlyMedianWage": 65.38,
"dataYear": "2025",
"checkedAt": "2026-09-19T12:00:00.000Z"
}

Fields come back as null if that specific measure has no data available for the requested occupation/area combination (common for niche occupations or small states), found is false if none of the requested measures returned data at all.

How it works

Direct calls to the official BLS Public Data API's OEWS series, no scraping, no proxy. Each request builds the OEWS series ID for employment, annual mean wage, annual median wage, hourly mean wage, and hourly median wage, and fetches all five in one batched call per occupation/area.

Rate limits: unregistered use is capped at 25 series requests per day and 10 years of history. A free registration key (see Input above) raises that to 500 requests per day with a longer history window.

Pricing note

Billed per occupation lookup, not per wage field returned — one charge per socCode/stateCode pair requested, whether all five wage measures come back populated or several are null for that occupation/area.