Medicare Fee Schedule API
Live · free keysMedicare Physician Fee Schedule allowed amounts for any code, locality and date of service, without parsing CMS files or doing the RVU and GPCI math yourself. Every response names the release that answered it and cites the CMS rows behind the number.
Get this by API Live
The same number, programmatically—the bulk endpoint returns the payable amount, status, the release that answered it, and full citations (CMS file, row, and the math) for every code in one call. Keys are free and self-serve.
curl -X POST -H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"codes":["99213"],"setting":"non_facility"}' \
"https://localishealth.com/v1/rates/bulk"
"locality"
to the request body for a locality-adjusted rate—the calculator has a searchable locality picker.
The same rate stays on this page free with no account—read the full reference.
What every response carries Copy link
The CMS data is free. The work is turning a quarter's worth of files into one defensible number, and keeping the next quarter's from silently replacing the last.
The amount and its context
The allowed amount for the code, locality, Office (non-facility) or facility setting, and modifier you asked about, with the release that answered it. Leave out the locality and you get the national PFS baseline (GPCI 1.000), not a local amount.
The CMS evidence behind it
A citations object naming each CMS file and row the inputs came from, the values read, and the RVU × GPCI × conversion factor arithmetic, so the number can be defended later without re-deriving it.
A named outcome, never a fake $0
Bundled, carrier-priced, excluded and lab-routed codes come back as payable: false with the reason, or with the fee schedule that does price them. A blank RVU is not a zero.
Sequestration on your terms
Amounts are before sequestration unless you set the flag, and the response says which you got. Gross and net never get mixed up downstream.
What teams build with it Copy link
Expected payment in claims and RCM software
Price every line of a claim against the release in force on its date of service. The claim check endpoint ranks multiple-procedure reductions and flags NCCI pair edits and MUE unit limits across the lines.
Payer contract modeling
Contracts pegged to "120% of 2024 Medicare" need the 2024 rate, not today's. Bulk-price up to 500 codes per call for any release we hold, then apply the multiplier yourself.
ZIP-to-locality resolution
Turn a service-location ZIP or ZIP+4 into its Medicare payment locality through the versioned CMS crosswalk. A ZIP that spans localities is flagged rather than silently assigned.
Audits, appeals and underpayment review
Every response echoes the release and source rows, so a figure in a report or appeal letter can be traced back to the CMS file it came from.
The API calculates the payment effect of the codes, modifiers and units you send. Coverage and coding correctness are outside this calculation.
Endpoints Copy link
The most-used endpoints. The API reference covers all of them, with parameters, examples and response shapes.
| Endpoint | What it returns |
|---|---|
| Rates | |
| GET /v1/rates/{hcpcs} | One code's allowed amount, status, release and citations, national or locality-adjusted. |
| POST /v1/rates/bulk | Up to 500 codes in one call, in the same shape as a single lookup. |
| GET /v1/rates/{hcpcs}/history | A code's rate across releases, for trend and vintage questions. |
| Claims & MPPR | |
| POST /v1/claims/check | One claim's lines checked together: MPPR ranking, NCCI PTP pairs and MUE unit limits. |
| Geography | |
| GET /v1/zip/{zip} | A ZIP or ZIP+4 resolved to its payment locality, with ambiguous ZIPs flagged. |
| GET /v1/localities | Every Medicare payment locality, for building a locality parameter. |
| Reference data | |
| GET /v1/releases | Every PFS release we hold, current and historical. |
| GET /v1/releases/…/sources | The exact CMS files behind one release, with their source URLs. |
| Fees & utilization | |
| GET /v1/clfs/{hcpcs} | Clinical Laboratory Fee Schedule rates for lab codes. |
| GET /v1/mac-fees/{hcpcs} | MAC-published fees for contractor-priced codes. |
Keys & quota Copy link
Every request needs a bearer token—Authorization: Bearer <token>.
New accounts get a free dev tier with 1,000 lookups
per day (a single-code lookup costs 1 unit; a bulk request costs one unit per code), with a
60-unit burst limit per minute.
Quota is counted per account, not per token, so issuing more tokens doesn't buy more quota.
Create an account and generate a token from Settings → API tokens. It's free and self-serve, with no card needed. Production volume, commercial rights and support come with the Production API plan, from $1,000/month, which isn't purchasable yet.
Get an API keyQuestions developers ask Copy link
Is there a free Medicare fee schedule API?
Can I get the rate that applied on a past date of service?
What does the API return for a code with no national rate?
Is sequestration included in the amount?
Does the API return CPT code descriptions?
Can I use it inside a commercial product?
Did this answer your question about the API?
We're building this out in the open. Tell us what you were actually trying to work out and we'll either answer you directly or build the page that does.
Already using something else? Copy link
How Localis compares with tools you may already have open.