# Medicare Part D Plan Cost & Coverage Lookup

> Medicare Part D Plan Cost & Coverage Lookup is a paid API for AI agents from data.spencermcw.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-23).

Returns premium, deductible, service area, tier cost-sharing, and one drug's formulary terms for a specific Medicare Part D contract-plan-segment.

## Facts

- Endpoint: GET https://data.spencermcw.com/v1/medicare/partd/plan?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-23
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/medicare-part-d-plan-cost-coverage-lookup-e32f9a4b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_7O3fkJKL2kw1JbRi9E5R9

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability medicare-part-d-plan-cost-coverage-lookup-e32f9a4b
```

Example prompt: What does Medicare Part D plan H1234-001-000 cost for 2024, and is the drug with RxCUI 860975 covered — what tier is it on and does it require prior authorization?

## When to prefer this

Use this endpoint when you need authoritative, CMS-sourced cost and coverage details for a specific Medicare Part D plan identified by its contract-plan-segment ID. Prefer this over general drug lookup endpoints when you need tier cost-sharing structures, premiums, deductibles, and service area together with a specific drug's formulary terms in one call. Best suited for benefits counseling, plan comparison tools, and eligibility/coverage verification workflows.

## Known failure modes

- Invalid plan ID format returns validation error
- Unknown plan ID returns empty or not-found response
- NDC must be exactly 11 digits — malformed NDC returns error
- RxCUI must be numeric and up to 10 digits
- Drug not found in formulary returns covered: false
- Plan year out of range (before 2000 or after 2100) returns validation error
- Rate limit exceeded after 3 free daily calls without payment
- Payment failure via x402/USDC returns 402 error

## How this service works

What does this Medicare Part D plan cost and cover? Premium, deductible, service area, cost sharing by tier and one drug’s terms for a contract-plan-segment id, computed by Distill from CMS’s monthly formulary files. Updated monthly. $0.01 per call (x402, USDC on Base); 3 free calls a day.

## Output

A JSON object containing plan metadata (plan year, file date, plan ID, plan name, contract name, plan kind, SNP type, formulary ID), financial terms (premium, deductible), geographic service area, an array of tier cost-sharing structures (tier number, specialty flag, whether deductible applies, preferred/standard retail and mail-order costs), and optionally one drug's formulary terms (covered status, tier, prior authorization, step therapy, quantity limit, negotiated drug flag, terms-vary-by-NDC flag).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "plan"
     ],
     "properties": {
      "ndc": {
       "type": "string",
       "pattern": "^\\d{11}$"
      },
      "plan": {
       "type": "string",
       "pattern": "^[A-Za-z]\\d{4}-\\d{3}-\\d{3}$"
      },
      "rxcui": {
       "type": "string",
       "pattern": "^\\d{1,10}$"
      },
      "plan_year": {
       "type": "integer",
       "maximum": 2100,
       "minimum": 2000
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "data": {
       "type": "object",
       "required": [
        "plan_year",
        "file_date",
        "plan",
        "plan_name",
        "contract_name",
        "kind",
        "snp",
        "formulary_id",
        "premium",
        "deductible",
        "service_area",
        "tiers",
        "drug"
       ],
       "properties": {
        "snp": {
         "type": [
          "string",
          "null"
         ]
        },
        "drug": {
         "anyOf": [
          {
           "anyOf": [
            {
             "type": "object",
             "required": [
              "rxcui",
              "covered",
              "tier",
              "prior_authorization",
              "step_therapy",
              "quantity_limit",
              "negotiated_drug",
              "terms_vary_by_ndc"
             ],
             "properties": {
              "tier": {
               "type": "integer",
               "maximum": 9007199254740991,
               "minimum": -9007199254740991
              },
              "rxcui": {
               "type": "string"
              },
              "covered": {
               "type": "boolean",
               "const": true
              },
              "step_therapy": {
               "type": "boolean"
              },
              "quantity_limit": {
               "anyOf": [
                {
                 "type": "object"
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/medicare-part-d-plan-cost-coverage-lookup-e32f9a4b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from data.spencermcw.com](https://www.zero.xyz/host/data.spencermcw.com/llms.txt)
