Salary Benchmarks API
BusinessMAINTAINED1 token / call

Salary Benchmarks API

BLS wage benchmarks for every US occupation by state and metro: mean, median and percentiles

US salary benchmarks by occupation and location from the Bureau of Labor Statistics' May 2025 Occupational Employment and Wage Statistics survey — the wage data every HR platform, job board and compensation tool builds on, self-hosted: 236,120 benchmark cells covering every SOC occupation nationally, per state and per metro area. Each cell carries employment, mean wages, and the full distribution — 10th, 25th, median, 75th and 90th percentiles, both hourly and annual — plus job concentration (per 1,000 employed, location quotient). One call answers "what do Software Developers earn?" (nationally: $135,980 median, $214,670 at p90, with the top-paying metros attached) or "what's the going rate in Austin?" ($134,120). Filter by occupation, area or area type; rank by median, p90 or employment; find SOC codes and area codes by name. SOC codes accepted with or without the dash. Survey data is public domain and refreshes with the annual spring release. Built for HR tech, job boards, offer benchmarking, relocation calculators and market research. Self-hosted — no third-party calls at request time.

Every call needs an X-Api-Key header. A free key includes 500 tokens a month, no card required. 1 token per call, so the free plan covers about 500 calls a month.

No credit card requiredAccess to 125+ APIsCancel anytime
response.json
{
  "ok": true,
  "area": {
    "code": "0000000",
    "name": "National",
    "type": "national"
  },
  "occupation": {
    "code": "15-1252",
    "title": "Software Developers"
  },
  "year": 2025,
  "employment": 1687890,
  "wages": {
    "hourly": {
      "mean": 71.2,
      "p10": 39.64,
      "p25": 50.58,
      "median": 65.38,
      "p75": 82.68,
      "p90": 103.21
    },
    "annual": {
      "mean": 148100,
      "p10": 82460,
      "p25": 105210,
      "median": 135980,
      "p75": 171980,
      "p90": 214670
    }
  },
  "emp_per_1000": null,
  "location_quotient": null,
  "top_paying_metros": [
    {
      "area": "San Jose-Sunnyvale-Santa Clara, CA",
      "annual_median": 213110
    },
    {
      "area": "San Francisco-Oakland-Fremont, CA",
      "annual_median": 186640
    },
    {
      "area": "Seattle-Tacoma-Bellevue, WA",
      "annual_median": 167280
    },
    {
      "area": "New York-Newark-Jersey City, NY-NJ",
      "annual_median": 166830
    },
    {
      "area": "Boston-Cambridge-Newton, MA-NH",
      "annual_median": 166090
    }
  ]
}
Production Ready
Battle-tested infrastructure with a 99.9% uptime SLA. Rate limits are generous, responses are consistent.
Simple Integration
Standard REST + JSON. Works with any HTTP client. Copy-ready code snippets in 4 languages.
One Key, 125+ APIs
Your DataAndAPIs subscription unlocks every API on the platform — anime, finance, sports, and more.

Use cases for Salary Benchmarks API

  • Show a salary range with 10th to 90th percentiles on job postings and career pages.

  • Benchmark offers and pay bands against official data for a role in a specific metro area.

  • Compare where an occupation pays most and where it is most concentrated for relocation and hiring decisions.

  • Power a salary calculator or compensation report without licensing a commercial survey.

Salary Benchmarks API endpoints

Every endpoint with its parameters and a real example response.

GETData Sources

https://api-salary-benchmarks.dataandapis.com/v1/sources

This endpoint takes no parameters.

Example request

curl "https://api-salary-benchmarks.dataandapis.com/v1/sources" \
  -H "X-Api-Key: YOUR_API_KEY"
Example response
{
  "ok": true,
  "count": 1,
  "sources": [
    {
      "slug": "bls-oews",
      "name": "BLS Occupational Employment and Wage Statistics (May 2025)",
      "publisher": "US Bureau of Labor Statistics",
      "licence": "US Government work - public domain",
      "source_url": "https://www.bls.gov/oes/",
      "file_url": "https://download.bls.gov/pub/time.series/oe/oe.data.1.AllData",
      "cadence": "annual (spring release)",
      "record_count": 236120,
      "retrieved_at": "2026-09-02"
    }
  ]
}

GETNational Benchmark

https://api-salary-benchmarks.dataandapis.com/v1/wages/national/{soc}

Path parameters

ParameterExample
soc15-1252Required

Example request

curl "https://api-salary-benchmarks.dataandapis.com/v1/wages/national/15-1252" \
  -H "X-Api-Key: YOUR_API_KEY"
Example response
{
  "ok": true,
  "area": {
    "code": "0000000",
    "name": "National",
    "type": "national"
  },
  "occupation": {
    "code": "15-1252",
    "title": "Software Developers"
  },
  "year": 2025,
  "employment": 1687890,
  "wages": {
    "hourly": {
      "mean": 71.2,
      "p10": 39.64,
      "p25": 50.58,
      "median": 65.38,
      "p75": 82.68,
      "p90": 103.21
    },
    "annual": {
      "mean": 148100,
      "p10": 82460,
      "p25": 105210,
      "median": 135980,
      "p75": 171980,
…
Show full response
{
  "ok": true,
  "area": {
    "code": "0000000",
    "name": "National",
    "type": "national"
  },
  "occupation": {
    "code": "15-1252",
    "title": "Software Developers"
  },
  "year": 2025,
  "employment": 1687890,
  "wages": {
    "hourly": {
      "mean": 71.2,
      "p10": 39.64,
      "p25": 50.58,
      "median": 65.38,
      "p75": 82.68,
      "p90": 103.21
    },
    "annual": {
      "mean": 148100,
      "p10": 82460,
      "p25": 105210,
      "median": 135980,
      "p75": 171980,
      "p90": 214670
    }
  },
  "emp_per_1000": null,
  "location_quotient": null,
  "top_paying_metros": [
    {
      "area": "San Jose-Sunnyvale-Santa Clara, CA",
      "annual_median": 213110
    },
    {
      "area": "San Francisco-Oakland-Fremont, CA",
      "annual_median": 186640
    },
    {
      "area": "Seattle-Tacoma-Bellevue, WA",
      "annual_median": 167280
    },
    {
      "area": "New York-Newark-Jersey City, NY-NJ",
      "annual_median": 166830
    },
    {
      "area": "Boston-Cambridge-Newton, MA-NH",
      "annual_median": 166090
    }
  ]
}

GETSearch Areas

https://api-salary-benchmarks.dataandapis.com/v1/areas

Query parameters

ParameterExample
limit50Optional
qAustinOptional
typemetroOptional

Example request

curl "https://api-salary-benchmarks.dataandapis.com/v1/areas?limit=50&q=Austin&type=metro" \
  -H "X-Api-Key: YOUR_API_KEY"
Example response
{
  "ok": true,
  "count": 1,
  "areas": [
    {
      "code": "0012420",
      "name": "Austin-Round Rock-San Marcos, TX",
      "area_type": "metro"
    }
  ]
}

GETSearch Occupations

https://api-salary-benchmarks.dataandapis.com/v1/occupations

Query parameters

ParameterExample
limit50Optional
majorsfalseOptional
qnurseOptional

Example request

curl "https://api-salary-benchmarks.dataandapis.com/v1/occupations?limit=50&majors=false&q=nurse" \
  -H "X-Api-Key: YOUR_API_KEY"
Example response
{
  "ok": true,
  "count": 6,
  "occupations": [
    {
      "code": "29-1141",
      "title": "Registered Nurses",
      "major_group": false
    },
    {
      "code": "29-1151",
      "title": "Nurse Anesthetists",
      "major_group": false
    },
    {
      "code": "29-1161",
      "title": "Nurse Midwives",
      "major_group": false
    },
    {
      "code": "29-1171",
      "title": "Nurse Practitioners",
      "major_group": false
    },
    {
      "code": "29-2061",
      "title": "Licensed Practical and Licensed Vocational Nurses",
      "major_group": false
…
Show full response
{
  "ok": true,
  "count": 6,
  "occupations": [
    {
      "code": "29-1141",
      "title": "Registered Nurses",
      "major_group": false
    },
    {
      "code": "29-1151",
      "title": "Nurse Anesthetists",
      "major_group": false
    },
    {
      "code": "29-1161",
      "title": "Nurse Midwives",
      "major_group": false
    },
    {
      "code": "29-1171",
      "title": "Nurse Practitioners",
      "major_group": false
    },
    {
      "code": "29-2061",
      "title": "Licensed Practical and Licensed Vocational Nurses",
      "major_group": false
    },
    {
      "code": "45-2092",
      "title": "Farmworkers and Laborers, Crop, Nursery, and Greenhouse",
      "major_group": false
    }
  ]
}

GETSearch Wages

https://api-salary-benchmarks.dataandapis.com/v1/wages

Query parameters

ParameterExample
areaOptional
area_typemetroOptional
limit20Optional
min_annual_median100000Optional
occupation15-1252Optional
page1Optional
sortmedianOptional

Example request

curl "https://api-salary-benchmarks.dataandapis.com/v1/wages?area_type=metro&limit=20&min_annual_median=100000&occupation=15-1252&page=1&sort=median" \
  -H "X-Api-Key: YOUR_API_KEY"
Example response
{
  "ok": true,
  "total": 453,
  "page": 1,
  "limit": 20,
  "count": 3,
  "results": [
    {
      "area": {
        "code": "0041940",
        "name": "San Jose-Sunnyvale-Santa Clara, CA",
        "type": "metro"
      },
      "occupation": {
        "code": "15-1252",
        "title": "Software Developers"
      },
      "year": 2025,
      "employment": 87350,
      "wages": {
        "hourly": {
          "mean": 106.59,
          "p10": 66.55,
          "p25": 83.49,
          "median": 102.46,
          "p75": 108.69,
          "p90": 139.02
        },
…
Show full response
{
  "ok": true,
  "total": 453,
  "page": 1,
  "limit": 20,
  "count": 3,
  "results": [
    {
      "area": {
        "code": "0041940",
        "name": "San Jose-Sunnyvale-Santa Clara, CA",
        "type": "metro"
      },
      "occupation": {
        "code": "15-1252",
        "title": "Software Developers"
      },
      "year": 2025,
      "employment": 87350,
      "wages": {
        "hourly": {
          "mean": 106.59,
          "p10": 66.55,
          "p25": 83.49,
          "median": 102.46,
          "p75": 108.69,
          "p90": 139.02
        },
        "annual": {
          "mean": 221710,
          "p10": 138420,
          "p25": 173650,
          "median": 213110,
          "p75": 226080,
          "p90": 289150
        }
      },
      "emp_per_1000": 76.96,
      "location_quotient": 7.09
    },
    {
      "area": {
        "code": "0041860",
        "name": "San Francisco-Oakland-Fremont, CA",
        "type": "metro"
      },
      "occupation": {
        "code": "15-1252",
        "title": "Software Developers"
      },
      "year": 2025,
      "employment": 69030,
      "wages": {
        "hourly": {
          "mean": 93,
          "p10": 61.58,
          "p25": 78.61,
          "median": 89.73,
          "p75": 105.61,
          "p90": 131.44
        },
        "annual": {
          "mean": 193430,
          "p10": 128090,
          "p25": 163500,
          "median": 186640,
          "p75": 219670,
          "p90": 273400
        }
      },
      "emp_per_1000": 29.08,
      "location_quotient": 2.68
    },
    {
      "area": {
        "code": "0042660",
        "name": "Seattle-Tacoma-Bellevue, WA",
        "type": "metro"
      },
      "occupation": {
        "code": "15-1252",
        "title": "Software Developers"
      },
      "year": 2025,
      "employment": 92770,
      "wages": {
        "hourly": {
          "mean": 84.09,
          "p10": 47.69,
          "p25": 63.85,
          "median": 80.42,
          "p75": 101.86,
          "p90": 124.02
        },
        "annual": {
          "mean": 174920,
          "p10": 99190,
          "p25": 132800,
          "median": 167280,
          "p75": 211860,
          "p90": 257960
        }
      },
      "emp_per_1000": 44.47,
      "location_quotient": 4.1
    }
  ]
}

Where the data comes from

Source
Bureau of Labor Statistics Occupational Employment and Wage Statistics, May 2025 (public domain).
Freshness
Annual reload with each BLS release.

One install. Every endpoint.

No proprietary SDKs needed. Any HTTP client works. Pick your language and paste.

3languages
5endpoints
RESTarchitecture
1key for all APIs
  • Fully typed responses — auto-completion in your IDE
  • Tracks the API in lockstep — new endpoints land same day
  • One key works across 125+ APIs on the platform
import axios from 'axios';

const { data } = await axios.get(
  'https://api-salary-benchmarks.dataandapis.com/v1/sources',
  { headers: { 'X-Api-Key': process.env.API_KEY } }
);

Salary Benchmarks API · X-Api-Key

Explore the endpoints

Browse request parameters and inspect live example responses.

Available Endpoints

Request Parameters

API URL

Headers

X-Api-Key
import axios from 'axios';

const url = 'https://api-salary-benchmarks.dataandapis.com/v1/sources';
const { data } = await axios.get(url, {
  headers: { 'X-Api-Key': 'YOUR_API_KEY' }
});

One subscription. Every API.

Tokens unlock this API and 125+ others on DataAndAPIs. Switch APIs any time — we promote.

FREE

$0/mo

500 tokens / month

  • Access to all APIs
  • Tokens reset monthly
  • Community support
Start free
Most Popular

STARTER

$6.99/mo

25,000 tokens / month

  • Access to all APIs
  • Tokens reset monthly
  • Email support
Subscribe

PRO

$24.99/mo

100,000 tokens / month

  • Access to all APIs
  • Tokens reset monthly
  • Priority email support
Subscribe

ULTRA

$99.99/mo

1,000,000 tokens / month

  • Access to all APIs
  • Tokens reset monthly
  • Priority support
Subscribe

Need higher volume, dedicated infra, or a custom contract? Talk to sales →

Questions about Salary Benchmarks API

Ship Salary Benchmarks API this afternoon.

500 free tokens. No card. Plus 125+ other APIs on the same key.