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 99213 Routine Follow-Up Office Visit A routine return visit to check on a stable ongoing condition, talk through symptoms, and continue or adjust treatment. View rate & details → 99214 99214 Long Follow-Up Office Visit A return visit for one or more ongoing conditions — checking how treatment is working, reviewing test results, and adjusting medicines or the care plan. View rate & details → 99203 99203 New Patient Office Visit A patient's first visit with this clinician, covering history, examination, and an initial plan for a straightforward problem. View rate & details → 93000 93000 Heart Tracing A recording of the heart's electrical activity through small pads on the chest, arms, and legs, plus a clinician's reading and written report. View rate & details →
36415 36415 Blood Draw Taking a blood sample from a vein, usually at the inside of the elbow or the back of the hand, for laboratory testing. This covers the draw itself, not the tests run on the sample. View rate & details → 71046 71046 Chest X-Ray, Two Views Chest X-ray images from two directions, usually front and side — a fuller picture of the lungs and heart than a single image gives. View rate & details → 80053 80053 Full Metabolic Blood Panel One blood test measuring a standard group of substances: blood sugar, salts and minerals, and markers of kidney and liver function. It gives a broad check on several organ systems at once. View rate & details →
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
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
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
Other tools give you a number without a receipt.
Localis gives you a number along with the sources and math behind it.
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.
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.
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.”
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.
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.
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.
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…
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…
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…
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…
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…
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.
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.
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.
Check us on it
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.
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.
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.
# 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.
Rates & fee schedules
One code, 500 at once, or a year-by-year series. Plus the schedules the PFS doesn't price nationally — lab codes and MAC-published fees.
- GET /v1/rates/{hcpcs}
- POST /v1/rates/bulk
- GET /v1/rates/{hcpcs}/history
- GET /v1/clfs/{hcpcs}
- GET /v1/mac-fees/{hcpcs}
Claim edits & MPPR
Whether a claim pays as billed: NCCI bundling, unit ceilings, and multiple-procedure reductions — each with a reason, not just a verdict.
- POST /v1/claims/check
- GET /v1/ncci/ptp
- GET /v1/mue/{hcpcs}
- POST /v1/mppr
- GET /v1/mppr/policy
Geography
ZIP to payment locality through the versioned crosswalk. Standalone lookups flag an ambiguous ZIP and return its dominant locality; rate lookups reject ambiguity instead of guessing.
- GET /v1/zip/{zip}
- POST /v1/zip/bulk
- GET /v1/localities
Utilization
What Medicare actually paid for, nationally — by code or specialty, and how a code's volume moved across a decade of vintages.
- GET /v1/utilization/codes/{hcpcs}
- GET /v1/utilization/codes/{hcpcs}/trend
- GET /v1/utilization/specialties
Versioning & provenance
Every release on file, and the exact CMS files behind one — filename, SHA-256, row count, and column map, so you can pin an ingest to it.
- GET /v1/releases
- GET /v1/releases/{schedule}/{year}/{quarter}/sources
- GET /v1/pricing-rules
Watchlist
Track the codes you bill and get the dollar impact of each new release on your own volume.
- GET/PUT /v1/watchlist
- GET /v1/watchlist/impact
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
LiveAnswer a question. No account, no card, no trial clock.
Research
Coming soonReplace the Medicare spreadsheet: build fee schedules, compare payer rates, watch your codes.
Workbench
Coming soonDo the work, not just read the number.
Production API
Coming soonA 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 →
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.
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.
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
PlannedStatus 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 soonMedian and percentile negotiated rates per code and county, pulled from Transparency in Coverage files and shown as % of Medicare.
State Medicaid rates
Coming soonState fee schedules with a %-of-Medicare comparison and a note on how each state actually sets its rates.
Your code portfolio
PlannedSave 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.
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.