Agent402 / tools / recall-report

FDA recall report (drug, food, device)

$5 per call · USDC via x402 · POST /v1/recall-report

Name a drug, food, ingredient, brand or medical device and get one cited FDA recall report: every matching enforcement record across the drug, food and device feeds (firm, class I/II/III, status, reason, distribution, date), organized and explained, with a downloadable records appendix. Live openFDA data, not medical advice. USDC (x402/MPP) or card (Stripe). Not cached.

TRY IN PLAYGROUND →

Input

FieldTypeDescription
query *stringA drug, food, ingredient, brand or medical device to search FDA recalls for, e.g. "losartan", "peanut butter", "insulin pump".
scopestringWhich FDA enforcement feeds to search (default all).

Example output

{
  "report": "# FDA Recall Report: losartan\n\n**7 records** across 3 FDA enforcement feeds · 2 ongoing\n\n## Snapshot\n...\n\n## Sources\n[1] FDA drug recalls matching \"losartan\" - openFDA enforcement - https://api.fda.gov/drug/enforcement.json?...",
  "query": "losartan",
  "sources": [
    {
      "n": 1,
      "title": "FDA drug recalls matching \"losartan\" - openFDA enforcement",
      "url": "https://api.fda.gov/drug/enforcement.json?search=product_description%3A%22losartan%22&limit=20"
    }
  ],
  "tables": [
    {
      "name": "recalls",
      "label": "FDA recall records",
      "columns": [
        "Feed",
        "Initiated",
        "Class",
        "Status",
        "Firm",
        "Product",
        "Reason",
        "Distribution",
        "Recall number"
      ],
      "rows": [
        [
          "drug",
          "2019-11-08",
          "Class II",
          "Terminated",
          "Torrent Pharmaceuticals",
          "Losartan Potassium Tablets",
          "Presence of an impurity",
          "Nationwide",
          "D-123-2020"
        ]
      ]
    }
  ],
  "meta": {
    "tier": "recall-report",
    "query": "losartan",
    "scope": "all",
    "records": 7,
    "ongoing": 2,
    "sources_cited": 3,
    "synthesis_model": "anthropic/claude-opus-5"
  }
}

Try it - see the 402 challenge (free)

curl -i -X POST https://agent402.tools/v1/recall-report \
  -H "Content-Type: application/json" \
  -d '{"query":"losartan"}'

The response is HTTP 402 Payment Required with exact payment requirements. Any x402 v2 client pays automatically and retries:

Paid call (JavaScript agent)

import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client();
registerExactEvmScheme(client, { signer: privateKeyToAccount(KEY) });
const payFetch = wrapFetchWithPayment(fetch, client);

const res = await payFetch("https://agent402.tools/v1/recall-report", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    "query": "losartan"
  }),
});
Wallet-only. This tool reaches the network/browser/storage, so it is paid in USDC via x402 (no proof-of-work tier).

Related tools

Chat completions - nano tier

$0.003 · POST /v1/nano/chat/completions

OpenAI-compatible chat completions, nano tier: gpt-4.1-nano, gpt-5-nano, gemini flash-lite, small llama/ministral/qwen, …

try in playground →

Chat completions - auto tier (eval-ranked routing)

$0.01 · POST /v1/auto/chat/completions

OpenAI-compatible chat completions with server-side model choice: omit "model" (or send "auto") and the gateway routes t…

try in playground →

Grounded chat (web search, OpenAI-compatible)

$0.03 · POST /v1/grounded/chat/completions

OpenAI-compatible chat completions GROUNDED in a live web search on every call: the gateway runs an Exa search (up to 5 …

try in playground →