> ## Documentation Index
> Fetch the complete documentation index at: https://docs.oneshotagent.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Medicare Fee Schedule

> Look up national Medicare Physician Fee Schedule relative value units and payment amounts for a procedure code.

Returns the status indicator, relative value units, conversion factors and national payment amounts, before the locality adjustment, on Medicare's physician payment schedule for a procedure code and modifier. Non-facility is an office, where the practice bears the overhead; facility is a hospital or other facility paid separately for it. Codes and amounts only; procedure descriptions are licensed and not returned.

## Authentication

Requires x402 payment in the `payment-signature` header.

## Request Body

**code** `string` *required*

Five-character procedure code, for example 99213 or G0439. five letters or digits.

**modifier** `string`

Two-character modifier, for example 26 or TC; without it, rows with no modifier are returned. two letters or digits.

**year** `integer`

Calendar year of the schedule; defaults to the newest published year. From 2025 to 2026. Defaults to `2026`.

<Snippet file="audit-context-params.mdx" />

## Response (200 OK)

Top-level envelope: `success` (boolean) and `data` (object). All fields below are nested under `data`.

**data.request\_id** `string`

Durable job ID for audit and lookup

**data.status** `string`

Job status: `completed`

**data.tool** `string`

Always `market_medicare_fees`

**data.result** `object`

The answer, described under Result below

**data.evidence** `object`

Where the answer came from and when

**data.evidence.source** `string`

The public body the data comes from. Always `US Centers for Medicare & Medicaid Services`.

**data.evidence.source\_kind** `string`

`public` when the data comes from a public body, `commercial` otherwise

**data.evidence.retrieved\_at** `string`

When the lookup was made, as an ISO 8601 UTC time

**data.evidence.as\_of** `string | null`

The amounts are for the calendar year given. The source rows carry no date, so as\_of is null.

## Result

Nested under `data.result`.

**data.result.code** `string`

The procedure code looked up, upper-cased.

**data.result.year** `integer`

Calendar year of the schedule.

**data.result.status** `string | null`

Source status indicator, for example A for an active code; null when the code is not on the schedule for the year.

**data.result.status\_meaning** `string | null`

What the status indicator means; null when the source does not document it.

**data.result.rates** `object[]`

One entry per conversion factor the year uses, for the requested modifier; empty when there is no match.

**data.result.rates\[].modifier** `string | null`

Two-character modifier; null for the unmodified code.

**data.result.rates\[].conversion\_factor\_usd** `number`

US dollars per relative value unit for this rate.

**data.result.rates\[].rvu\_work** `number`

Work relative value units.

**data.result.rates\[].rvu\_practice\_expense\_non\_facility** `number | null`

Practice expense relative value units outside a facility; null when the source marks it not applicable.

**data.result.rates\[].rvu\_practice\_expense\_facility** `number | null`

Practice expense relative value units in a facility; null when the source marks it not applicable.

**data.result.rates\[].rvu\_malpractice** `number`

Malpractice relative value units.

**data.result.rates\[].rvu\_total\_non\_facility** `number | null`

Total relative value units outside a facility; null when not applicable.

**data.result.rates\[].rvu\_total\_facility** `number | null`

Total relative value units in a facility; null when not applicable.

**data.result.rates\[].national\_payment\_non\_facility\_usd** `number | null`

Total non-facility relative value units times the conversion factor, rounded to cents: the national amount before the geographic locality adjustment; null when not applicable or when the contractor sets the payment (status C or L).

**data.result.rates\[].national\_payment\_facility\_usd** `number | null`

Total facility relative value units times the conversion factor, rounded to cents: the national amount before the geographic locality adjustment; null when not applicable or when the contractor sets the payment (status C or L).

**data.result.rates\[].global\_days** `string`

Global surgery period: 000, 010 or 090 days; XXX when the concept does not apply; YYY set by the contractor; ZZZ for an add-on code; MMM for maternity.

**data.result.rates\[].label** `string`

Who this conversion factor applies to.

```bash cURL theme={null}
curl -X POST https://win.oneshotagent.com/v1/tools/lookup/market-medicare-fees \
  -H "Content-Type: application/json" \
  -H "payment-signature: <base64 x402 payment>" \
  -d '{
    "code": "99213"
  }'
```

```javascript JavaScript theme={null}
const response = await fetch("https://win.oneshotagent.com/v1/tools/lookup/market-medicare-fees", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "payment-signature": paymentProof,
  },
  body: JSON.stringify({
    "code": "99213"
  }),
});
```

```typescript SDK theme={null}
const result = await agent.tool('lookup/market-medicare-fees', {
  code: '99213'
});
console.log(result.result);
console.log(result.evidence);
```

```json Response (200) theme={null}
{
  "success": true,
  "data": {
    "request_id": "uuid",
    "receipt_id": "rcpt_...",
    "status": "completed",
    "tool": "market_medicare_fees",
    "result": {
      "code": "99213",
      "year": 2026,
      "status": "A",
      "status_meaning": "Active code: paid separately under the physician fee schedule when covered",
      "rates": [
        {
          "modifier": null,
          "conversion_factor_usd": 33.5675,
          "rvu_work": 1.3,
          "rvu_practice_expense_non_facility": 1.46,
          "rvu_practice_expense_facility": 0.33,
          "rvu_malpractice": 0.09,
          "rvu_total_non_facility": 2.85,
          "rvu_total_facility": 1.72,
          "national_payment_non_facility_usd": 95.67,
          "national_payment_facility_usd": 57.74,
          "global_days": "XXX",
          "label": "qualifying alternative payment model participants"
        },
        {
          "modifier": null,
          "conversion_factor_usd": 33.4009,
          "rvu_work": 1.3,
          "rvu_practice_expense_non_facility": 1.46,
          "rvu_practice_expense_facility": 0.33,
          "rvu_malpractice": 0.09,
          "rvu_total_non_facility": 2.85,
          "rvu_total_facility": 1.72,
          "national_payment_non_facility_usd": 95.19,
          "national_payment_facility_usd": 57.45,
          "global_days": "XXX",
          "label": "all other clinicians"
        }
      ]
    },
    "evidence": {
      "source": "US Centers for Medicare & Medicaid Services",
      "source_kind": "public",
      "retrieved_at": "2026-01-15T12:00:00.000Z",
      "calls": [
        {
          "retrieved_at": "2026-01-15T12:00:00.000Z"
        }
      ],
      "as_of": null
    }
  }
}
```

> [!NOTE]
>
> See [Pricing](https://docs.oneshotagent.com/pricing.md) for this tool's price. A wallet (x402) call receives it in the 402 quote before anything is charged; a call paid from prepaid credits is charged when the API accepts the request and answers `200`.

## Notes

* Without a modifier, the rows with no modifier are returned; with one, only that modifier's rows (for example 26 for the professional component and TC for the technical component).
* From 2026 each code has one rate per conversion factor: one for qualifying alternative payment model participants and one for all other clinicians, in that order. Earlier years have one rate.
* A practice expense the source marks not applicable gives null practice expense, total and payment for that setting, never zero.
* When the Medicare Administrative Contractor sets the amount (status C, or L for a local code), both national payments are null. The relative value units are returned as the source lists them.
* The source is the US Centers for Medicare & Medicaid Services indicators table of the physician payment schedule for the year; locality adjustments are not applied.
* No match, including a code not on the schedule for the year, completes with rates: \[] and a null status.
* Results return inline. The finished job stays available at `/v1/requests/{request_id}`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.