# NADAC Drug Price Search by Name

> NADAC Drug Price Search by Name 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).

Search CMS's NADAC database by drug name to find matching NDCs, their counts, and the current per-unit cost range that pharmacies pay

## Facts

- Endpoint: GET https://data.spencermcw.com/v1/drug/nadac/search?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/nadac-drug-price-search-by-name-592d1600
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_G_8OEEnXJh1JDYAXJgkB4

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 nadac-drug-price-search-by-name-592d1600
```

Example prompt: Search the NADAC database for 'atorvastatin 40' and show me all the matching NDCs, how many there are, and the current per-unit cost range pharmacies pay for each.

## When to prefer this

Use this endpoint when you need to find what pharmacies actually pay (acquisition cost) for a drug by searching its name, and you want NDC-level detail with cost ranges sourced directly from CMS's official NADAC weekly file. Prefer this over general drug lookup APIs when pharmacy cost benchmarking, formulary analysis, or price transparency is the goal. It is the right choice when you need to map a human-readable drug name to multiple NDCs and their associated NADAC pricing in one call.

## Known failure modes

- No matches found if drug name is too specific or misspelled
- Stale data possible if CMS has not yet published the latest weekly file
- Query too short (under 2 characters) returns a validation error
- Limit parameter exceeding 25 returns a validation error
- Payment failure via x402 if USDC balance is insufficient after 3 free daily calls

## How this service works

Which NDCs match this drug name, and what do pharmacies pay for them? NADAC search by name (e.g. “atorvastatin 40”) with NDC counts and current per-unit cost ranges, from CMS’s weekly NADAC file. Updated weekly. $0.01 per call (x402, USDC on Base); 3 free calls a day.

## Output

Returns a JSON object with the query string, an as-of date reflecting the latest weekly CMS NADAC file, and an array of matching drug entries. Each entry includes a drug description, pricing unit (e.g. EACH, ML), drug classification (generic/brand), number of matching NDCs, sample NDC codes, the effective date, and a min/max NADAC per-unit cost range expressed as decimal strings.

## 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": [
      "name"
     ],
     "properties": {
      "name": {
       "type": "string",
       "maxLength": 80,
       "minLength": 2
      },
      "limit": {
       "type": "integer",
       "maximum": 25,
       "minimum": 1
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "data": {
       "type": "object",
       "required": [
        "query",
        "as_of",
        "matches"
       ],
       "properties": {
        "as_of": {
         "type": "string"
        },
        "query": {
         "type": "string"
        },
        "matches": {
         "type": "array",
         "items": {
          "type": "object",
          "required": [
           "description",
           "pricing_unit",
           "classification",
           "ndcs",
           "nadac_per_unit",
           "effective_date",
           "sample_ndcs"
          ],
          "properties": {
           "ndcs": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991
           },
           "description": {
            "type": "string"
           },
           "sample_ndcs": {
            "type": "array",
            "items": {
             "type": "string"
            }
           },
           "pricing_unit": {
            "type": "string"
           },
           "classification": {
            "type": "string"
           },
           "effective_date": {
            "type": "string"
           },
           "nadac_per_unit": {
            "type": "object",
            "required": [
             "min",
             "max"
            ],
            "properties": {
             "max": {
              "type": "string"
             },
             "min": {
              "type": "string"
             }
            },
            "additionalProperties": false
           }
          },
          "additi
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/nadac-drug-price-search-by-name-592d1600/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)
