81trust / 100

Recalls

by Consumer Product Recalls in Company & people data

x402 APIPassing, checked 4 h ago

Consumer product recalls. A normalized multi-agency recall feed spanning FDA, CPSC, and NHTSA — product, reason, company, classification, and severity.

GET https://api.kadec0.xyz/v1/recalls

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
188 ms typical, 188 ms slowest 5%
Last check
4 h ago
Next check
any minute now

How to call it

# See the payment challenge (nothing is charged)
curl -i -X GET "https://api.kadec0.xyz/v1/recalls?agency=all&limit=10&q=salmonella"
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fapi.kadec0.xyz%2Fv1%2Frecalls
const res = await pay("https://api.kadec0.xyz/v1/recalls?agency=all&limit=10&q=salmonella");
console.log(await res.json());

Example input

{
  "agency": "all",
  "limit": "10",
  "q": "salmonella"
}

Example output

{
  "count": 1,
  "items": [
    {
      "agency": "FDA",
      "classification": "Class I",
      "company": "...",
      "date": "2026-05-12",
      "product": "...",
      "reason": "undeclared milk",
      "recallNumber": "F-1234-2026",
      "severity": "high",
      "status": "Ongoing",
      "type": "recall"
    }
  ]
}

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
4 h agoPassed402188 ms$0.02