Quickstart
A code. A location. A clear answer.
Start with a single code
FeeBase turns a procedure code and a little context into a Medicare Physician Fee Schedule amount. Choose a facility or non-facility setting, then add a ZIP or locality for a local rate. Leave location out for the national, geographically unadjusted amount.
Data endpoints require an API key and an active plan. Each successful lookup counts once, including a result whose amount is unavailable. Examples use illustrative amounts.
Connect your account
Create a named API key in your team’s settings. Keep it on your server and send it in the Authorization: Bearer header. You can check your credentials with GET /api/v1/me, which is implemented and does not consume your monthly lookup quota.
Request a rate
The rate endpoint is GET /api/v1/rates/{code}. A code and setting are required. The service date defaults to today; qp_status defaults to non_qp. Supply either zip or locality to localize the amount.
To build a lookup: search for a code, retrieve its facts, resolve a locality, then fetch a single or batch rate. Code sets supply fee-sheet presets, releases support history, utilization supplies historical rankings, and therapy estimates handle timed units and MPPR. Provider pricing uses the same rate resource.
Read the amount
Final USD amounts are integer cents: 15327 means $153.27. An unavailable amount is null, never a substitute zero. Calculation factors that need finer precision use decimal strings.
Rates represent the base participating-physician fee schedule, before claim-level adjustments. They are not patient liability or a guarantee of payment.
Where the numbers come from
Every amount is computed from CMS's own files for the date of service: the Physician Fee Schedule RVU file, the GPCIs and conversion factor in the same release, and CMS's quarterly ZIP-to-locality crosswalk (lab codes come from the Clinical Laboratory Fee Schedule). For the same code, locality, setting, modifier and conversion factor it matches CMS, because it is CMS's calculation on CMS's rows. Add include=sources to any rate request to get the CMS archive, file and line behind each input.
Request
curl --get 'https://feebase.co/api/v1/rates/99214' \
--header "Authorization: Bearer $FEEBASE_API_KEY" \
--header 'Accept: application/json' \
--data-urlencode 'setting=non_facility'Example response · 200
{
"code": "99214",
"amount": 13561,
"currency": "usd",
"setting": "non_facility",
"date": "2026-01-01",
"qp_status": "non_qp",
"location": {
"type": "national"
}
}Illustrative national, non-facility response for 99214 on January 1, 2026. This example does not change with the form. Run a request to see your actual response below.
