U.S. COMPENSATION DATA · UPDATED MAY 2026 · SOURCE: BLS OES113 ROLES · 30 MARKETS
SALARYINDEX
U.S. COMPENSATION INTELLIGENCE
HomeDevelopers

Salary Data API

113 roles · 30 cities · BLS OES 2025 data · JSON · Free tier available

Get Your Free API Key
Plans
Free
$0
100 req / month
Starter
$29/mo
5,000 req / month
Pro
$99/mo
50,000 req / month
Enterprise
$499/mo
Unlimited

Starter, Pro and Enterprise plans — contact [email protected]

Endpoints
POSTNO AUTH
/v1/keys
Create a free API key
GET
/v1/salary?role=software-engineer&city=san-francisco
Get salary for a role + city
GET
/v1/salary?role=software-engineer
Get salary across all 30 cities
GET
/v1/roles
List all 113 roles
GET
/v1/cities
List all 30 cities
GET
/v1/category?category=tech
Roles by category
GET
/v1/usage
Check your usage and plan
Example Response
{
  "role": "Software Engineer",
  "role_slug": "software-engineer",
  "city": "San Francisco",
  "city_slug": "san-francisco",
  "state": "CA",
  "median": 188500,
  "p25": 142100,
  "p75": 239250,
  "p90": 304500,
  "yoy_change": 3.2,
  "category": "tech",
  "source": "BLS OES 2025",
  "updated": "May 2026"
}
cURL
curl "https://api.ussalaryindex.com/v1/salary?role=software-engineer&city=san-francisco" \
  -H "X-API-Key: YOUR_KEY"
JavaScript
const res = await fetch(
  'https://api.ussalaryindex.com/v1/salary?role=software-engineer&city=san-francisco',
  { headers: { 'X-API-Key': 'YOUR_KEY' } }
)
const data = await res.json()
console.log(data.median) // 188500
Python
import requests

r = requests.get(
    'https://api.ussalaryindex.com/v1/salary',
    params={'role': 'software-engineer', 'city': 'san-francisco'},
    headers={'X-API-Key': 'YOUR_KEY'}
)
print(r.json()['median'])  # 188500
Authentication

Pass your API key using any of these methods:

?key=YOUR_KEY (query param)X-API-Key: YOUR_KEY (header)Authorization: Bearer YOUR_KEY (header)