Skip to content
healthcare.dev

Medicare ASP API

CMS Medicare Part B drug payment limits (ASP pricing files) for every J-code and other billing codes, with two years of quarterly history and the NDC-HCPCS crosswalk. Updated every quarter.
Source
CMS
Updated
Quarterly
License
Public domain (CPT descriptors excluded)
Live version
2026-10-r20261008
Request
GET /v1/drugs/asp/J9271
200 OK · application/json
{
  "data": {
    "hcpcs": "J9271",
    "short_description": "Inj pembrolizumab",
    "quarter": "2026-10",
    "payment_limit": 62.253,
    "dosage_descriptor": "1 MG",
    "effective_from": "2026-10-01",
    "effective_through": "2026-12-31",
    "ndcs": [
      {
        "ndc": "00006-3026-02",
        "drug_name": "Keytruda",
        "billing_units_per_package": 100
      }
    ]
  },
  "meta": {
    "source": "cms-asp",
    "data_version": "2026-10-r20261008"
  }
}

About the data

Medicare Part B ASP payment limits

Medicare Part B pays for drugs given in a clinic or hospital outpatient department, such as infusions and injections, at a limit CMS sets each quarter from manufacturers' average sales price (ASP). CMS publishes the limits by HCPCS code, with a crosswalk from each code to the NDCs billed under it.

The API serves the newest quarter's limit per billing unit, two years of quarterly history, the quarter in effect on any date, and the crosswalked NDCs with billing units per package. Look up a code, or find the codes for an NDC. CPT codes in the files are served as code numbers only. A payment limit is not a coverage decision or what a patient pays.

Source: CMS. Full field reference in the docs.

Endpoint
/v1/drugs/asp/{hcpcs}
Source id
cms-asp
Cadence
Quarterly
License
Public domain (CPT descriptors excluded)

Questions

Medicare ASP API FAQ

What is the ASP payment limit?
The amount Medicare Part B allows per billing unit of a drug, generally 106% of the manufacturer-reported average sales price. CMS updates it every quarter.
How do I find the HCPCS code for an NDC?
Search with ?ndc=: the API uses CMS's ASP NDC-HCPCS crosswalk and returns each code with the matching NDCs and their billing units per package.