medicalfeeschedules.com
Updated every quarter · history back to 2015

What Medicare pays, computed correctly.

Look up the real fee schedule amount for any CPT or HCPCS code — GPCI math, status-driven payability, and sequestration handled, with every rate cited back to the CMS file, row, and formula that produced it.

Popular: 99213 99214 99203 93000 36415

Rates vary by area — look up your locality by ZIP code.

99213 · Office/outpatient visit, est.
Status A · Payable
Non-facility
$95.19
Facility
$57.45
Locality
01 · National
Release
Q3 2026
+0.0% from Q2 2026 full history →
Source: rvu26c-updated-06-30-2026.zip (PPRRVU2026_Jul_nonQPP.csv) · row 12,954

Building on it? Start with a free API key → 100 lookups a month free, no card required

$10–60K/yr
unrecovered underpayments walking out of a typical small practice
~2 hrs
saved per fee-schedule review vs. doing it in Excel
100%
of prices cite their CMS file, row & math
10+ yrs
of versioned rate history — pull the exact rate as of any date of service
Products

Three ways to get a rate

The same computed, versioned data underneath. Pick the surface that fits how you work.

For billers & practice staff

Free rate lookup

A page for every code: the national amount, the RVU math behind it, payability in plain English, and rate history across quarters. No login, no paywall.

  • Non-facility and facility amounts
  • Rate history with release-over-release change
  • A source popover per price: CMS file, row, and the math
  • Expected-payment calculator for your locality
For engineers

REST API

One JSON request returns the computed amount, the payability decision, and citations down to the CMS file row that produced every input. Self-serve keys, free tier to start.

  • Historical lookups by year + quarter
  • Locality by MAC code or plain ZIP
  • Gross or sequestration-net with one flag
  • payable=false always carries a reason
  • Anesthesia codes: pass case time, get the real allowed amount
Coming soon For RCM teams

RCM dashboard

Compare rates across localities and quarters, track how the codes you bill moved release over release, and export the sets your team works from.

  • Cross-quarter rate deltas
  • Bulk export & saved code sets
  • Locality comparison views
Join the waitlist →
Method

Correctness is the product

Anyone can join a CSV. The hard part is the edge cases that quietly produce wrong money — a blank RVU treated as $0, a status code that isn't actually payable, a rate pulled from the wrong quarter. Each one is a denied claim or an appeal you can't back up. These are the rules we hold ourselves to instead.

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 — "the rate in Q2 2024" stays answerable forever.

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 return payable=false with a reason — never 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 flag.

Every answer is attributable

Each response cites the release, the CMS file and row every value was read from, and the math it was plugged into — for appeals teams who must show their work.

OPPS caps applied automatically

When a code's non-facility payment is capped at the OPPS site-of-service amount, we apply it — no manual cross-check against a second CMS file.

Anesthesia priced by time, not guesswork

Status J codes don't use the standard RVU formula. Give us the case time and locality and we compute base units + time units × the anesthesia conversion factor — the calculation that actually determines what anesthesia claims pay.

Developer API

One request. A rate you can defend.

Pass a code, a locality — or just a ZIP — a setting, and (optionally) a historical quarter. Get back the computed amount, the payability decision, and citations naming the CMS file, row, and math behind every number.

  • Ask for a past quarter and get that quarter's answer, not today's
  • Send a ZIP and we resolve the payment locality through the versioned crosswalk — ambiguous ZIPs error, they never guess
  • Every value cited to its CMS file, row, and column, with the formula shown
  • payable=false comes with a machine-readable reason
  • Facility vs non-facility selected explicitly, never guessed
GET /v1/rates/99213
# request
curl https://medicalfeeschedules.com/v1/rates/99213 \
  -H "Authorization: Bearer sk_live_…" \
  -d zip=90210 # or locality=… \
  -d setting=non_facility \
  -d year=2026 -d quarter=C

# response
{
  "code": "99213",
  "payable": true,
  "status": "A",
  "amount": "95.19",
  "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, "pe_rvu": 1.46, "pe_gpci": 1, "mp_rvu": 0.09, "mp_gpci": 1, "conversion_factor": 33.4009 }
    }
  }
}
Coming soon

A dashboard built for RCM teams

The lookup tool and API answer "what does this code pay." The dashboard is for the next question: how did the codes we bill move this quarter, how do localities compare, and which sets do we need to re-check before the next release. We're building it now with the billing and RCM teams asking for it — join the waitlist and help shape what ships first.

  • Cross-quarter rate deltas for the codes you track
  • Bulk export and saved code sets for your workflow
  • Locality comparison views for negotiation and budgeting

We'll only email you about dashboard access. No spam.

Locality comparison · Q3 2026 Preview
99213 Manhattan, NY
$96.10 +1.8%
99213 National (01)
$92.47 +0.6%
99214 Manhattan, NY
$142.55 +1.4%
99214 National (01)
$137.20 +0.5%

Also on the roadmap

Bulk reconciliation

Upload a CSV of codes and localities, get computed rates and payability back in one pass.

Payer rate comparison

Stack a negotiated payer rate against the Medicare rate to spot underpayment fast.

wRVU compensation modeling

Model physician compensation off work RVUs using the same versioned release data.

Pricing

Simple, honest pricing

Browse for free. Pay when you build on it.

Free

$0 For trying it out
  • 100 API lookups / mo
  • Public code pages
  • Current release only
Most popular

Pro

$100 per month
  • 10,000 API lookups / mo
  • Full historical quarters
  • Dashboard & exports (early access)
  • Sequestration toggle

Team

Custom annual
  • Unlimited lookups
  • SLA & priority support
  • Bulk & scheduled exports
  • Invoiced billing

The dashboard is in development — Pro and Team subscribers get early access as it ships. Join the waitlist to be first in line.

Stop re-parsing CMS spreadsheets

The manual process breaks every quarter when CMS reshuffles its columns — and a misread blank RVU turns into a denied claim. One request replaces all of it. Get a computed, versioned rate, cited down to the CMS file row — free key, no card.