About PayScaleIndex
PayScaleIndex publishes national and state-level wage estimates for U.S. occupations in a clean, searchable format.
All figures on this site come from a single public dataset: the U.S. Bureau of Labor Statistics, Occupational Employment and Wage Statistics (OEWS), May 2024 estimates. The estimates are national, cross-industry wage and employment figures published by the U.S. Bureau of Labor Statistics.
Source: https://www.bls.gov/oes/
For each occupation we show the figures reported by BLS: national employment, mean and median annual and hourly wages, and the 10th, 25th, 50th, 75th, and 90th wage percentiles. Where BLS does not report a value, we leave it out rather than estimate it.
Disclaimer: Wage figures are BLS OEWS estimates and may not reflect current pay. This site is an independent reference and is not affiliated with or endorsed by the U.S. Bureau of Labor Statistics.
State-level wage data (added 2026-09-11)
In addition to the national figures above, all 818 occupation pages now include a “Wages by state (May 2024)” table, and there is a new States section with one summary page per state.
Source: U.S. Bureau of Labor Statistics, Occupational Employment
and Wage Statistics (OEWS), State occupational employment and wage estimates, May
2024 — the same OEWS national-vintage release (May 2024) already used
sitewide, so the new state figures are not being mixed with a different survey
round. Downloaded as oesm24st.zip (state_M2024_dl.xlsx) from
bls.gov. This is a U.S. federal government work and is in the public domain;
BLS asks that it be credited as the source, which we do on every page that uses
it.
Join method: exact match on the 6-digit SOC occupation code
(OCC_CODE) between this site’s 818 existing occupation pages and
the BLS state file, restricted to rows where O_GROUP = “detailed”,
NAICS = “000000” (cross-industry total, matching how the
existing national figures are scoped), and AREA_TYPE = “2”
(state-level, i.e. the 50 states plus the District of Columbia — 51 areas).
No name-based or fuzzy matching was used.
Matched / unmatched: 818 of 818 site occupations (100%) had at least one state row in the BLS file and were augmented. 0 were left unmatched. Across those 818 occupations, 34,784 individual state×occupation rows were rendered (not every occupation has a published row for all 51 states/DC — BLS simply omits the state entirely when it has none, rather than publishing an empty row).
Fields rendered per state, per occupation: state name (links to a per-state summary page), employment, mean annual wage, median annual wage, and the 10th/25th/75th/90th percentile annual wages.
Fields deliberately withheld: the state-level hourly wage figures (mean, median, and all percentiles) exist in the source file but are not rendered, purely to keep the new table a manageable width — noted explicitly on every occupation page, with a link back to the same BLS source for anyone who wants the hourly figures. Location quotient, jobs-per-1,000, and percent relative standard error (PRSE) sampling-error columns from the source file are also not rendered anywhere on this site.
Suppressed values: BLS marks some state-level cells with
* (wage estimate not available), ** (employment
estimate not available), or # (wage at or above the top-coding
threshold of $115.00/hour or $239,200/year). All three are rendered as an em
dash (—) rather than guessed at, with a footnote under each table quoting
these definitions.
Cadence: this is a one-time addition for the May 2024 OEWS state release; there is no automated refresh pipeline. If BLS publishes a newer state release, these tables will not update until someone re-runs this process.
Corrections: to report a wage or employment figure you believe is wrong (national or state-level), see the Contact page for what to include (page URL, field, believed-correct value, and a source).