curl -X POST https://win.oneshotagent.com/v1/tools/lookup/market-drug-acquisition-cost \
-H "Content-Type: application/json" \
-H "payment-signature: <base64 x402 payment>" \
-d '{
"ndc": "60290-0040-02"
}'
const response = await fetch("https://win.oneshotagent.com/v1/tools/lookup/market-drug-acquisition-cost", {
method: "POST",
headers: {
"Content-Type": "application/json",
"payment-signature": paymentProof,
},
body: JSON.stringify({
"ndc": "60290-0040-02"
}),
});
const result = await agent.tool('lookup/market-drug-acquisition-cost', {
ndc: '60290-0040-02'
});
console.log(result.data.result);
console.log(result.data.evidence);
{
"success": true,
"data": {
"request_id": "uuid",
"receipt_id": "rcpt_...",
"status": "completed",
"tool": "market_drug_acquisition_cost",
"result": {
"prices": [
{
"ndc": "60290004002",
"description": "ATORVASTATIN 20 MG TABLET",
"per_unit_usd": 0.02792,
"pricing_unit": "EA",
"effective_date": "2026-10-07",
"as_of_date": "2026-10-14",
"otc": false,
"classification": "generic",
"pharmacy_type": "C/I"
}
]
},
"evidence": {
"source": "US Centers for Medicare & Medicaid Services",
"source_kind": "public",
"retrieved_at": "2026-10-16T12:00:00.000Z",
"calls": [
{
"retrieved_at": "2026-10-16T12:00:00.000Z"
}
],
"as_of": "2026-10-14"
}
}
}
Health
Drug Acquisition Cost
Look up weekly average acquisition costs for US outpatient drugs by NDC or exact drug description.
POST
/
v1
/
tools
/
lookup
/
market-drug-acquisition-cost
curl -X POST https://win.oneshotagent.com/v1/tools/lookup/market-drug-acquisition-cost \
-H "Content-Type: application/json" \
-H "payment-signature: <base64 x402 payment>" \
-d '{
"ndc": "60290-0040-02"
}'
const response = await fetch("https://win.oneshotagent.com/v1/tools/lookup/market-drug-acquisition-cost", {
method: "POST",
headers: {
"Content-Type": "application/json",
"payment-signature": paymentProof,
},
body: JSON.stringify({
"ndc": "60290-0040-02"
}),
});
const result = await agent.tool('lookup/market-drug-acquisition-cost', {
ndc: '60290-0040-02'
});
console.log(result.data.result);
console.log(result.data.evidence);
{
"success": true,
"data": {
"request_id": "uuid",
"receipt_id": "rcpt_...",
"status": "completed",
"tool": "market_drug_acquisition_cost",
"result": {
"prices": [
{
"ndc": "60290004002",
"description": "ATORVASTATIN 20 MG TABLET",
"per_unit_usd": 0.02792,
"pricing_unit": "EA",
"effective_date": "2026-10-07",
"as_of_date": "2026-10-14",
"otc": false,
"classification": "generic",
"pharmacy_type": "C/I"
}
]
},
"evidence": {
"source": "US Centers for Medicare & Medicaid Services",
"source_kind": "public",
"retrieved_at": "2026-10-16T12:00:00.000Z",
"calls": [
{
"retrieved_at": "2026-10-16T12:00:00.000Z"
}
],
"as_of": "2026-10-14"
}
}
}
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 thepayment-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:
completedstring
Always
market_drug_acquisition_costobject
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 otherwisestring
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 dateResult
Nested underdata.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.
curl -X POST https://win.oneshotagent.com/v1/tools/lookup/market-drug-acquisition-cost \
-H "Content-Type: application/json" \
-H "payment-signature: <base64 x402 payment>" \
-d '{
"ndc": "60290-0040-02"
}'
const response = await fetch("https://win.oneshotagent.com/v1/tools/lookup/market-drug-acquisition-cost", {
method: "POST",
headers: {
"Content-Type": "application/json",
"payment-signature": paymentProof,
},
body: JSON.stringify({
"ndc": "60290-0040-02"
}),
});
const result = await agent.tool('lookup/market-drug-acquisition-cost', {
ndc: '60290-0040-02'
});
console.log(result.data.result);
console.log(result.data.evidence);
{
"success": true,
"data": {
"request_id": "uuid",
"receipt_id": "rcpt_...",
"status": "completed",
"tool": "market_drug_acquisition_cost",
"result": {
"prices": [
{
"ndc": "60290004002",
"description": "ATORVASTATIN 20 MG TABLET",
"per_unit_usd": 0.02792,
"pricing_unit": "EA",
"effective_date": "2026-10-07",
"as_of_date": "2026-10-14",
"otc": false,
"classification": "generic",
"pharmacy_type": "C/I"
}
]
},
"evidence": {
"source": "US Centers for Medicare & Medicaid Services",
"source_kind": "public",
"retrieved_at": "2026-10-16T12:00:00.000Z",
"calls": [
{
"retrieved_at": "2026-10-16T12:00:00.000Z"
}
],
"as_of": "2026-10-14"
}
}
}
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}