> ## Documentation Index
> Fetch the complete documentation index at: https://docs.oneshotagent.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Drug Acquisition Cost

> Look up weekly average acquisition costs for US outpatient drugs by NDC or exact drug description.

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

<ParamField body="ndc" type="string">
  National Drug Code; takes precedence over description. 11 digits, with optional dashes.
</ParamField>

<ParamField body="description" type="string">
  Exact source drug description, matched in uppercase, for example ATORVASTATIN 20 MG TABLET. 3 to 100 characters.
</ParamField>

<ParamField body="limit" type="integer">
  Maximum number of distinct NDC prices to return. From 1 to 25. Defaults to `10`.
</ParamField>

<Snippet file="audit-context-params.mdx" />

## Response (200 OK)

Top-level envelope: `success` (boolean) and `data` (object). All fields below are nested under `data`.

<ResponseField name="data.request_id" type="string">
  Durable job ID for audit and lookup
</ResponseField>

<ResponseField name="data.status" type="string">
  Job status: `completed`
</ResponseField>

<ResponseField name="data.tool" type="string">
  Always `market_drug_acquisition_cost`
</ResponseField>

<ResponseField name="data.result" type="object">
  The answer, described under Result below
</ResponseField>

<ResponseField name="data.evidence" type="object">
  Where the answer came from and when
</ResponseField>

<ResponseField name="data.evidence.source" type="string">
  The public body the data comes from. Always `US Centers for Medicare & Medicaid Services`.
</ResponseField>

<ResponseField name="data.evidence.source_kind" type="string">
  `public` when the data comes from a public body, `commercial` otherwise
</ResponseField>

<ResponseField name="data.evidence.retrieved_at" type="string">
  When the lookup was made, as an ISO 8601 UTC time
</ResponseField>

<ResponseField name="data.evidence.as_of" type="string">
  When the source says the fact was last updated, or `null` when the source gives no date
</ResponseField>

## Result

Nested under `data.result`.

<ResponseField name="data.result.prices" type="object[]">
  Newest row per NDC from the source page.
</ResponseField>

<ResponseField name="data.result.prices[].ndc" type="string">
  National Drug Code.
</ResponseField>

<ResponseField name="data.result.prices[].description" type="string">
  Source drug description.
</ResponseField>

<ResponseField name="data.result.prices[].per_unit_usd" type="number">
  Acquisition cost in US dollars per pricing unit.
</ResponseField>

<ResponseField name="data.result.prices[].pricing_unit" type="string">
  Each, milliliter or gram.
</ResponseField>

<ResponseField name="data.result.prices[].effective_date" type="string">
  Date this rate took effect.
</ResponseField>

<ResponseField name="data.result.prices[].as_of_date" type="string">
  Weekly source publication date.
</ResponseField>

<ResponseField name="data.result.prices[].otc" type="boolean">
  Whether the source marks the drug as over the counter.
</ResponseField>

<ResponseField name="data.result.prices[].classification" type="string">
  brand for B, generic for G; other source codes unchanged.
</ResponseField>

<ResponseField name="data.result.prices[].pharmacy_type" type="string">
  Source pharmacy type indicator; empty when omitted.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  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"
    }'
  ```

  ```javascript JavaScript theme={null}
  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"
    }),
  });
  ```

  ```typescript SDK theme={null}
  const result = await agent.tool('lookup/market-drug-acquisition-cost', {
    ndc: '60290-0040-02'
  });
  console.log(result.data.result);
  console.log(result.data.evidence);
  ```
</RequestExample>

<ResponseExample>
  ```json Response (200) theme={null}
  {
    "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"
      }
    }
  }
  ```
</ResponseExample>

<Info>See [Pricing](/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`.</Info>

## Notes

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


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.