Check whether a product matches an official recall.

Enter a brand, model, barcode, lot, VIN or drug code. Product Recall Check picks the responsible authority, queries its official recall data live, and shows exactly what the authority says — hazard, remedy and which units are affected. Built for AI agents, usable by people.

Official sources only

CPSC (consumer products), NHTSA (vehicles) and FDA (food, drugs, medical devices), queried live through their own APIs. No scraping, no model guesses.

“No match” is not “safe”

NO_MATCH_FOUND means only that no matching recall was found in the checked official sources under the supplied identifiers. It does not mean the product is safe, free of defects, or will never be recalled.

Pay only for answers

0.018 USDC per check via x402. Unsupported requests, unreachable sources and undecidable evidence are never charged.

Exact identifiers, honest limits

Model numbers are matched exactly (XR-10 never equals XR-100). Serial ranges, lot codes, date codes and best-by dates in the official text are read deterministically; when a recall covers only some units and your identifiers cannot settle it, the answer is POSSIBLE_MATCH with the restriction spelled out — never an overclaim.

Result codes

RECALL_FOUNDAn exact published identifier (UPC/GTIN, NDC, model, SKU, lot or serial within a listed range) ties the product to an official recall, and no stated restriction is left unverified. Charged.
POSSIBLE_MATCHA recall may apply, but a restriction is unverified (e.g. only some serial numbers, lot codes not supplied, vehicle VIN population not public) or the identity match is at model-family / brand+name level. Charged.
AMBIGUOUSSeveral different recalls (or only weak name similarities) relate to the product; the identifiers cannot tell which applies. Candidates are returned. Charged.
NO_MATCH_FOUNDThe relevant official source(s) answered and nothing matched sufficiently specific identifiers. NO_MATCH_FOUND means only that no matching recall was found in the checked official sources under the supplied identifiers. It does not mean the product is safe, free of defects, or will never be recalled. Charged.
SOURCE_UNAVAILABLEAn official source could not be queried. Never reported as "no recall". Not charged; retry with the same Idempotency-Key.
UNABLE_TO_VERIFYThe sources answered but the evidence cannot support a determination (identifiers too weak for a no-match, vehicle model not recognised, too many candidates, or a relevant authority that is not covered, e.g. USDA FSIS for meat). Not charged.

Coverage today

Category (United States)AuthorityLive
Consumer productsCPSCyes
Motor vehiclesNHTSAyes
Food (FDA-regulated)FDAyes
Drugs (human and animal)FDAyes
Medical devicesFDAyes
Meat, poultry and processed egg products (USDA FSIS)—not covered
Vehicle equipment, tires and child car seats (NHTSA equipment campaigns)—not covered
Cosmetics—not covered
Recreational boats (USCG)—not covered

Sources, freshness and known limitations →

For agents

curl -s -X POST https://productrecallcheck.online/api/v1/check \
  -H 'Content-Type: application/json' \
  -d '{"brand":"Vivitar","product_name":"blender bottle","model":"ES15-BB-TA"}'
# → 402 with price, x402 requirement and the official sources to be queried.
# Resend with PAYMENT-SIGNATURE + Idempotency-Key → 200 with result and evidence.

Machine-readable: /openapi.json · /llms.txt · /api/v1/coverage · /api/v1/pricing · /.well-known/product-recall-check.json