Open Data

Orthopedic Surgeon Rankings API

Free, versioned JSON endpoints for developers, researchers, and AI systems. No API key. CORS-enabled. CC-BY-4.0 license.

8,079
Surgeons
50
States
11yr
Trend data
CC-BY
4.0 License

API Endpoints

Base URL: https://orthoprocedures.com/data/v1/

Discovery

GET/data/v1/catalog.json
schema.org DataCatalog β€” machine-readable entry point listing all datasets and download URLs
GET/data/v1/meta.json
Version info, data year, changelog, complete endpoint map, and next update estimate

Surgeons

GET/data/v1/surgeons/all.json
Full dataset β€” all 8,079 surgeons organized by state. ~2 MB. Includes procedure counts and profile URLs.
GET/data/v1/surgeons/npi/{npi}.json
Individual surgeon profile by NPI number. Includes name, city, state, procedure counts, state ranks, and historical volume.

Rankings

GET/data/v1/rankings/{state}.json
Combined all-procedure state ranking. Replace {state} with 2-letter lowercase code (e.g., tx, ca, ny).
GET/data/v1/rankings/{state}/{procedure}.json
Single-procedure state ranking. Procedure: hip, knee, or shoulder. Example: /rankings/tx/hip.json
GET/data/v1/rankings/national/{procedure}.json
National top 100 surgeons for a procedure across all states.

Trends

GET/data/v1/trends/{procedure}.json
National aggregate annual procedure volume 2013–2023. Includes total procedures, surgeons, and average per surgeon.
GET/data/v1/trends/{state}/{procedure}.json
State-level annual trends 2013–2023. Example: /trends/tx/hip.json

Summary

GET/data/v1/summary/national.json
National totals: surgeon count, procedure counts by type, top states by volume.
GET/data/v1/summary/states.json
Per-state summary: surgeon count, total procedures, top surgeon per state.

Code Examples

curl

# Lookup surgeon by NPI
curl https://orthoprocedures.com/data/v1/surgeons/npi/1194043521.json

# Texas hip rankings
curl https://orthoprocedures.com/data/v1/rankings/tx/hip.json

# National top 100 β€” knee
curl https://orthoprocedures.com/data/v1/rankings/national/knee.json

# Hip trends 2013-2023
curl https://orthoprocedures.com/data/v1/trends/hip.json

Python

import requests

# Lookup surgeon by NPI
npi = "1194043521"
resp = requests.get(f"https://orthoprocedures.com/data/v1/surgeons/npi/{npi}.json")
surgeon = resp.json()
print(f"{surgeon['name']} β€” {surgeon['totalProcedures']} procedures "
      f"(rank #{surgeon['overallStateRank']} in {surgeon['stateName']})")

# Texas hip rankings β€” top 10
resp = requests.get("https://orthoprocedures.com/data/v1/rankings/tx/hip.json")
data = resp.json()
for s in data["rankings"][:10]:
    print(f"#{s['rank']}: {s['name']} ({s['city']}) β€” {s['procedureCount']} hip procedures")

JavaScript / TypeScript

// Lookup surgeon by NPI
const resp = await fetch('https://orthoprocedures.com/data/v1/surgeons/npi/1194043521.json');
const surgeon = await resp.json();
console.log(surgeon.name, surgeon.totalProcedures);

// State rankings
const rankResp = await fetch('https://orthoprocedures.com/data/v1/rankings/ca/knee.json');
const rankings = await rankResp.json();
rankings.rankings.slice(0, 5).forEach(s => {
  console.log(`#${s.rank}: ${s.name} β€” ${s.procedureCount} knee procedures`);
});

// All surgeons (2 MB)
const allResp = await fetch('https://orthoprocedures.com/data/v1/surgeons/all.json');
const allData = await allResp.json();
const texasSurgeons = allData.surgeons.tx;

R

library(jsonlite)

# National hip trends
trends <- fromJSON("https://orthoprocedures.com/data/v1/trends/hip.json")
df <- data.frame(
  year = trends$national$years,
  total = trends$national$totalProcedures,
  surgeons = trends$national$totalSurgeons
)
plot(df$year, df$total, type="l", main="National Hip Arthroplasty Volume 2013-2023")

Bulk Downloads


License & Citation

All data is licensed under CC-BY-4.0 β€” free to use, share, and adapt with attribution. Source data from CMS (U.S. government, public domain). Our rankings, metadata, and endpoint structure are CC-BY-4.0.

OrthoProcedures.com. (2024). U.S. Orthopedic Surgeon Rankings by Medicare Procedure Volume
[Data set]. Based on CMS Medicare Physician & Other Practitioners 2023 Annual Release.
https://orthoprocedures.com/data/v1/catalog.json

Full citation formats (academic, journalistic, BibTeX) at data-methodology.


Bandwidth & Acceptable Use

Please be a good citizen of this free API.

  • Cache responses locally β€” all endpoints are static and change only on annual data updates.
  • For bulk access, download surgeons/all.json once rather than looping over 8,079 NPI endpoints.
  • Do not poll endpoints in tight loops or build scrapers that re-fetch unchanged data.
  • High-volume automated access that disrupts service for other users may be rate-limited or blocked without notice.

Why CORS is enabled

All /data/v1/ endpoints include Access-Control-Allow-Origin: *, enabling browser-side JavaScript to query the API directly without a proxy server. This is intentional β€” the data is public and the bandwidth exposure is mitigated by:

If you are building a high-traffic application on top of this API, consider self-hosting a copy of surgeons/all.json and generating your own derived endpoints rather than proxying orthoprocedures.com.