Skip to main content
POST
Look up the NADAC survey by an 11-digit NDC (dashes are removed) or an exact drug description converted to uppercase. At least one is required; NDC takes precedence when both are supplied. Reads up to 100 source rows, newest weekly as-of date first, then newest effective date, keeps the first row per NDC and returns up to limit prices. The survey refreshes weekly and publishes its own effective and as-of dates. These are pharmacy acquisition rates per unit, not retail patient prices. No match returns an empty prices list.

Authentication

Requires x402 payment in the payment-signature header.

Request Body

string
National Drug Code; takes precedence over description. 11 digits, with optional dashes.
string
Exact source drug description, matched in uppercase, for example ATORVASTATIN 20 MG TABLET. 3 to 100 characters.
integer
Maximum number of distinct NDC prices to return. From 1 to 25. Defaults to 10.

Response (200 OK)

Top-level envelope: success (boolean) and data (object). All fields below are nested under data.
string
Durable job ID for audit and lookup
string
Job status: completed
string
Always market_drug_acquisition_cost
object
The answer, described under Result below
object
Where the answer came from and when
string
The public body the data comes from. Always US Centers for Medicare & Medicaid Services.
string
public when the data comes from a public body, commercial otherwise
string
When the lookup was made, as an ISO 8601 UTC time
string
When the source says the fact was last updated, or null when the source gives no date

Result

Nested under data.result.
object[]
Newest row per NDC from the source page.
string
National Drug Code.
string
Source drug description.
number
Acquisition cost in US dollars per pricing unit.
string
Each, milliliter or gram.
string
Date this rate took effect.
string
Weekly source publication date.
boolean
Whether the source marks the drug as over the counter.
string
brand for B, generic for G; other source codes unchanged.
string
Source pharmacy type indicator; empty when omitted.
See Pricing 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

  • Results return inline. The finished job stays available at /v1/requests/{request_id}