localis

Describe a service in plain words, or type a CPT/HCPCS code.

Medicare Fee Schedule API

Live · free keys

Medicare 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.

Get an API key
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"
Returns the national amount (GPCI 1.000). Add "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 key

Questions developers ask Copy link

Is there a free Medicare fee schedule API?
Yes. Create an account and generate a token, with no card needed. The free tier allows 1,000 units a day and 60 a minute. A single-code lookup costs one unit, and a bulk request costs one unit per code.
Can I get the rate that applied on a past date of service?
Yes. Pass as_of with the date of service, or an explicit year and quarter. The API resolves the CMS release in force on that date, including a mid-quarter re-release, and echoes it in the response. Omit both for the release in effect today.
What does the API return for a code with no national rate?
It returns payable: false with a reason, never a $0. A bundled or non-payable status says so. A carrier-priced (status C) code points you to the MAC fee endpoint. A lab code the PFS excludes is answered from the Clinical Laboratory Fee Schedule.
Is sequestration included in the amount?
Only when you ask for it. Amounts are the allowed amount before sequestration by default. Set sequestration=true to apply the reduction after the formula, and the response marks that it was applied.
Does the API return CPT code descriptions?
No. CPT descriptions are copyrighted by the AMA, so responses carry the code, its payment data and its CMS evidence, not the descriptor.
Can I use it inside a commercial product?
The free tier is for building and evaluating. The Production API plan, from $1,000/month, adds production volume, commercial rights and support. It isn't purchasable yet. Tell us about your use and you'll get founding pricing when checkout opens.

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.

Did this page answer your question?

Already using something else? Copy link

How Localis compares with tools you may already have open.