localis
API key

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

Q3 2026 rates are live · Free accounts now have bookmarks

The Medicare rate engine that shows its work.

Localis computes the fee-schedule amount for any CPT or HCPCS line by locality, care setting, date of service, and supported payment rules, and shares the source rows and formulas behind every result.

99213 99214 99203 93000

36415 71046 80053

Q3 2026
99213 Office/outpatient visit, est.
Status A · Payable
Locality 16 · Chicago, IL flag Chicago, IL
Non-facility
$99.63
↗ 7.0% · Q1 2026
Facility
$61.70
↘ 9.8% · Q1 2026
Allowed amount — before sequestration and patient share
Relative value units (PPRRVU): rvu26c-updated-06-30-2026.zip (PPRRVU2026_Jul_nonQPP.csv) · row 12,954
Geographic adjustment (GPCI): rvu26c-updated-06-30-2026.zip (GPCI2026.csv) · row 48
Free tools

Four revenue questions we can help you answer confidently. For free. Today.

No login or credit card required.

Rate lookup

“What does this code pay in this context?”

We provide free resources for every CPT and HCPCS code, with information about allowed amount in office and facility settings, the RVU math and sources we used for our calculations, how the prices have moved over the last year, and more!

  • Office (non-facility) and facility amounts
  • Pricing by ZIP, not just national averages
  • Rate history across last four releases
  • Every price includes CMS citations and formula

Payment calculator

“Was this line paid right?”

Enter a code, a date of service, your locality, and what the payer actually paid. Get the expected amount and the variance: underpaid, overpaid, or match.

  • Priced from the release matching your date of service
  • Handles the 80/20 split and sequestration
  • %-of-Medicare multiplier for commercial contracts
  • Carrier-priced codes say so instead of showing a fake $0
Open the calculator →

Contract Check

“What does this payer offer really pay?”

Paste the fee schedule or percent-of-Medicare offer a payer sent you. See it priced across the codes you actually bill, weighted by your volumes, in annual dollars.

  • Manual grid or CSV paste, weighted by your annual volumes
  • Vintage terms priced right — “105% of 2023 Medicare” prices against 2023
  • Compared with state Medicaid FFS where we hold the state
  • Unpriceable lines are explained and excluded, never counted as $0
Check an offer →

Changes & alerts

“What changed this quarter?”

CMS reprices the schedule four times a year and re-values whole code families in the annual rule — moving payment, and the wRVU comp pegged to it. See each release diffed against the last, or get an email when your codes move.

  • Biggest increases and decreases, release over release
  • Watch specific codes, or a whole specialty
  • Specialty hubs with a free CSV export
  • Most-billed codes ranked from CMS utilization data
See what changed →
Why not just use CMS, a MAC portal, or a spreadsheet?

Other tools give you a number without a receipt.

Localis gives you a number along with the sources and math behind it.

Compare Localis against:

Underpayment flagging

Expected-allowed for locality + date + modifiers

Accepts a single code, a range, or a list, and shows the rate plus the policy indicators—but the modifier math is yours to do.

Whatever formulas you built—and maintain.

Current rates, one code at a time; carrier-priced codes only for that MAC’s jurisdiction.

Computed expected-allowed, policy math applied, whole code lists at once.

Contract benchmarking

“% of Medicare” for a specific year + locality

A code list or range for one locality, one screen at a time; the “% of Medicare” arithmetic is yours.

200-code grid possible—rebuilt by hand every release.

Same, limited to their jurisdiction.

Any code list × any locality × any year, in one call.

Historical rates

By date of service

Prior years available through the year selector.

Only holds the release it was last rebuilt from.

Current schedule only; “prior years fee schedules are located on the CMS website.”

Every release kept; a date of service resolves to the revision that governed it.

Status indicators

Applied, not just shown

Indicators displayed if you select them; interpretation is yours.

Only if you coded the logic—and updated it.

Displayed, varies by MAC’s interface.

Applied in the math: bundled prices at $0 with the reason, carrier-priced routes to the MAC, exclusions stated plainly.

Modifier-adjusted amounts

Bilateral, multiple procedure, assistant surgery, and more

Indicators shown per code; you look up the percentage and do the math yourself.

Only the modifiers you coded for—and remembered to keep current.

Same limitation, scoped to that MAC’s jurisdiction.

Computed automatically from each code’s own modifier indicators.

MPPR

Multiple Procedure Payment Reduction across a claim’s lines

Not addressed—codes are priced independently, with no cross-line ranking.

You rank the lines and apply 100/50/50…yourself, line by line.

Same—one code, one screen; no cross-line ranking.

Ranks a claim’s surgical lines and applies the reduction automatically, alongside NCCI and MUE edit checks.
Our philosophy

Be clearly correct.

There’s no such thing as “the” Medicare rate for a code. There is a rate for a particular locality, setting, date, and modifier. We don’t give simple but wrong answers. Instead, we make the right number easy to get. And we cite our sources and formulas.

Start with a code's national rates…

66984 🇺🇸
office $462.60
facility $462.60

Cataract Surgery, before anything is known about where or how it was delivered.

PPRRVU2026_Jul_nonQPP.csv · row 7,347

…adjust for the ZIP's locality…

60007 60007-4765
Chicago, IL flag 16 Chicago, IL
66984 Chicago, IL flag Chicago, IL
office $462.60 $488.66
facility $462.60 $488.66

ZIP 60007 spans more than one locality—the last four digits (ZIP+4) are what disambiguate it.

ZIP5_APR2026.txt · row 10,812

GPCI2026.csv · row 48

…filter to one care setting…

66984 Chicago, IL flag Chicago, IL
office $488.66
facility $488.66

Same code, same release, same locality—the setting alone decides which of the two applies.

PPRRVU2026_Jul_nonQPP.csv · row 7,347

What does 66984 pay in ZIP 60007, billed facility? $488.66—not the national $462.60.

See the full calculation walkthrough — date of service, modifiers, and the rest of the claim

…price it on the date of service…

66984 Chicago, IL flag Chicago, IL
Aug 8, 2024 Q3 2024
$488.66 $563.92

The claim prices from the release in force then—not today's rate on last year's claim.

PPRRVU2026_Jul_nonQPP.csv · row 7,347

PPRRVU24_JUL.csv · row 12,976

…apply relevant modifiers…

66984-50 Chicago, IL flag Chicago, IL
Aug 8, 2024
$563.92 $845.88

Cataract Surgery, billed bilateral (150% of the base amount)—priced from its own bilateral indicator, not assumed.

PPRRVU24_JUL.csv · row 12,976

…rank the claim and apply MPPR.

Chicago, IL flag Chicago, IL · Aug 8, 2024
#1 66984-50 100% $845.88
#2 66821 50% $322.81 $161.41

Ranked by fee schedule amount, bilateral adjustment applied first—so the 150% figure is what ranks. The second-highest procedure pays 50%.

Medicare Claims Processing Manual, Ch. 12 §40.6

What does 66984 cost in ZIP 60007, billed facility on Aug 8, 2024, bilaterally with 66821? $845.88 for 66984 and $161.41 for 66821 — $1,007.29 total.

Claim-context math

Locality, care setting, date of service, and the modifier and multi-line rules we support—applied, not left as indicators for you to interpret.

Immutable history

Every release we have ingested is kept. A date of service resolves to the revision that governed it, not to today’s rate.

Auditable evidence

The CMS file, the row inside it, the inputs read from that row, and the formula they fed—on every amount.

Method

A wrong rate looks exactly like a right one

Anyone can join a CSV. The failures that cost you money are quiet: a blank RVU read as $0, a status code that was never payable, a rate pulled from the wrong quarter. Nothing about the output looks wrong until a payer disagrees. Here are the rules we hold ourselves to.

The real payment formula

(work + PE + MP) × the GPCIs × conversion factor, with the PE component matched to your setting.

Immutable, versioned releases

A new quarter is a new ingest, so a past quarter stays answerable after the next release lands.

Status-driven payability

A/R/T pay; B/I/N/P/M/X/E don't. The status indicator decides, never the dollar value.

Blank RVU is not zero

Carrier-priced codes come back with a reason instead of a fake $0 that slips into a claim.

Sequestration is your choice

The ~2% cut applies after the formula, only when you ask. Gross or net, one toggle.

Every answer cites its source

We name the release, the CMS file and row behind each value, and the math they fed. Appeals teams can show their work.

Columns matched by name

CMS reshuffles column order and headers between releases. We map by name against an alias table and fail loudly on a missing column rather than guess.

We watch for silent corrections

CMS sometimes republishes a quarter in place. We re-check and record the revision, so a page can tell you which version of a release you're reading.

Beyond the PFS

Not everything you bill is priced by the fee schedule formula.

A lab panel, an anesthesia case, and an office visit don’t share a pricing path. Getting the number right starts with knowing which schedule governs the code in front of you.

Clinical lab

One national rate. No locality adjustment, and no office/facility split—the two things every PFS code has.

80053 · $10.56

Full Metabolic Blood Panel, priced from the Clinical Laboratory Fee Schedule.

PUF_CLFS_CY2026_Q3V1.csv · row 612

Anesthesia

Paid outside the RVU formula: (base units + time units) × the locality’s own anesthesia conversion factor.

Capped imaging

Certain imaging codes are limited to what the hospital outpatient system would pay. Where the cap binds, it replaces the formula result.

Every file behind these numbers is listed, with its layout and each release we've ingested, on the sources page.

For developers

Don't build a CMS parser

Pass a code, a ZIP or locality, a setting, and optionally a past quarter. Get the computed amount, whether it pays, and the CMS file, row, and math behind every number. Create an account and mint a token yourself — no card, no sales call, no waiting on us.

  • Ask for a past quarter and get that quarter's answer, not today's
  • Ask for a quarter we don't have on file and get the nearest release's answer, flagged data_quality: approximate with why
  • Send a ZIP and we resolve the locality through the versioned crosswalk; ambiguous ZIPs error instead of guessing
  • Every value cited to its CMS file, row, and column, with the formula shown
  • payable=false comes with a machine-readable reason
  • Bulk rate lookups and a claim check, not one code at a time

Field-by-field response shapes, rate limits, error codes, and the other endpoints live in the reference.

GET /v1/rates/99213
# request
curl --get 'https://localishealth.com/v1/rates/99213' \
  -H 'Authorization: Bearer sk_live_…' \
  --data-urlencode 'zip=90210' \
  --data-urlencode 'setting=non_facility' \
  --data-urlencode 'year=2026' \
  --data-urlencode 'quarter=C'

# response
{
  "code": "99213",
  "payable": true,
  "status": "A",
  "amount": "99.63",
  "sequestration_applied": false,
  "release": { "schedule": "pfs", "year": 2026, "quarter": "C" },
  "citations": {
    "sources": { "rvu": { "file": "PPRRVU2026_Jul_nonQPP.csv", "row": 12954, … }, "gpci": { … }, "zip_locality": { … } },
    "calculation": {
      "formula": "(work_rvu × work_gpci + pe_rvu × pe_gpci + mp_rvu × mp_gpci) × conversion_factor",
      "inputs": { "work_rvu": 1.3, "work_gpci": 1.007, "pe_rvu": 1.46, "pe_gpci": 1.005, "mp_rvu": 0.09, "mp_gpci": 2.295, "conversion_factor": 33.4009 }
    }
  }
}

Already know the locality? Swap zip for locality=01182-18. Omit year and quarter to price against the current release.

Everything else the API answers

Rates are the front door, not the whole product. The same token reaches the claim edits, the geography crosswalk, the non-PFS schedules, and the release archive behind every number.

What it costs

Free to look up. Paid for depth, workflow, and scale.

CMS publishes this data, so looking up a rate, checking a payment, and reading the math behind either stays free — including free API keys. What costs money is the archive that goes back years, the workflows that turn a number into finished work, and production volume.

Free

Live
$0 /month

Answer a question. No account, no card, no trial clock.

Research

Coming soon
$19 /month

Replace the Medicare spreadsheet: build fee schedules, compare payer rates, watch your codes.

Workbench

Coming soon
$149 /month

Do the work, not just read the number.

Production API

Coming soon
From $1,000 /month

A maintained Medicare pricing dependency inside your product.

The free plan is live and complete. The paid three aren't buyable yet — they're published so you can tell us which one is worth paying for, and everyone who says so now gets founding pricing when there is one. See what's in each plan →

For lean revenue teams

One rate engine. Three jobs that used to start in a spreadsheet.

Billing companies & small RCM firms

Spot-check a line now. Then help shape batch remittance review that finds the same variance across every client.

Reimbursement consultants

Price a payer’s offer against the codes and localities a client actually bills, for the contract year it is written against.

Healthtech & RCM software teams

Put versioned Medicare rates and claim checks inside your product without maintaining the CMS pipeline.

Independent practices

Check what a claim should have paid and translate percent-of-Medicare contracts into dollars—without an enterprise platform.

Free and live today: Rate lookup, Payment calculator, Contract Check, Changes & alerts, and REST API. Batch payment review is not — it's being shaped with billing and RCM design partners.

Coming next · Design partners

The same check, across the whole remittance

One line at a time is fine for a spot check. It doesn't scale to a month of claims, which is where the money actually is. Batch reconciliation — expected versus paid on every line, with the release, file, and row behind each variance — is where Localis is headed. The order is deliberate:

  • A stripped variance file first: codes, localities, amounts, and the year of service. Nothing that identifies a patient, so your data never crosses a compliance line.
  • Remittance-native review after that. An 835 carries protected health information, so it waits until we can take it on properly rather than quietly.
  • Commercial benchmarks alongside: payers' published negotiated rates expressed against Medicare, so an offer can be judged against what payers actually allow.

Join the batch payment review design group

We're looking for a handful of billing companies, small RCM firms, and practice managers to shape it. Tell us what your remits look like and where the current process hurts. You get it first, you get founding pricing when there is one, and your answer moves the build order. The list is small enough that a real person reads every one.

This is the part that actually decides what gets built first.

One email when there's something real to try. No spam, no drip sequence.

Remittance review · Q3 2026 Preview
Code Expected Paid Variance
99214 $137.20 $118.63 −$18.57
99213 $92.47 $92.47 match
93000 $16.71 $12.20 −$4.51
36415 $3.00 $3.00 match
2 of 4 lines underpaid −$23.08 to recover

Illustrative worklist. The single-line version of this math is live and free today.

Also on the list — tell us which one is your actual problem

Carrier-priced (MAC) rates

Planned

Status C codes have no national rate — each Medicare contractor publishes its own. Normalized MAC fee schedules, so "carrier-priced" stops meaning "go check twelve websites."

Payer benchmarks

Coming soon

Median and percentile negotiated rates per code and county, pulled from Transparency in Coverage files and shown as % of Medicare.

State Medicaid rates

Coming soon

State fee schedules with a %-of-Medicare comparison and a note on how each state actually sets its rates.

Your code portfolio

Planned

Save the codes and localities you bill, then get a read on what each release — or a retroactive mid-year conversion-factor patch — did to your revenue.

Need a particular state or payer covered first? Name it →

Did this page answer your question?

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?

Start with the claim you already have

Enter its code, date, setting, locality, and paid amount. We'll price it against the release that was live at the time and show the variance—with the evidence your team needs to act on it.