Every U.S. recall. One API.
Product, food, drug, device and vehicle recalls from CPSC, FDA, USDA and NHTSA, cleaned into one format and refreshed every two hours. Search them, match your barcodes, and get a webhook the moment something you sell is recalled.
100 free requests a day. No card needed.
Recall check
Search live data from four agencies
-
Highest. risk
Allstar Recalls Sharper Image Tabletop and Infinity Fire Pits Due to Risk of Serious Injury from Burn and Fire HazardsIgnited flammable liquid can escape from the recalled fire pits or trigger flame jetting from the fuel containers, posing a risk of serious injury from burn and fire hazards.
-
Highest. risk
SHEIN Distribution Corporation Recalls Baby Rattle and Teether Toy Sets Due to Risk of Serious Injury or Death from Choking; Violate Mandatory Small Parts BanThe recalled toy sets violate the small parts ban because they are intended for children under three years old and the purple and orange knobs can detach from the product, posing a deadly choking hazard to young children.
-
Highest. risk
QIOMALA Pressure Washers Recalled Due to Serious Risk of Injury or Death from Shock and Electrocution HazardsThe recalled pressure washers lack an adequate-length power cord, which can encourage use of an extension cord, posing a serious risk of injury or death from shock and electrocution hazards.
-
Highest. risk
Kakgold Recalls 4WD Remote-Controlled Car Toys Due to Risk of Serious Injury or Death from Battery Ingestion; Violate Mandatory Standard for ToysThe recalled remote-controlled cars violate the mandatory standard for toys because they contain button cell and lithium-ion batteries in the remote control that can be easily accessed by children, posing a deadly ingestion hazard to children. When button cell or coin batteries are swallowed, the ingested batteries can cause serious injuries, internal chemical burns and death
-
Highest. risk
Huffy Recalls Buzz Bicycles Cerana T2 E-Trikes Due to Risk of Serious Injury from Fall HazardThe recalled tricycles’ rear wheels can become loose or separate from the rear frame, posing a risk of serious injury from a fall hazard.
Four agencies, one format
Each agency publishes recalls its own way. Recall Relay reads all of them and gives every recall the same fields, dates and severity scale.
Consumer Product Safety Commission
Toys, cribs, heaters, furniture, electronics and other consumer products.
Food and Drug Administration
Food, drugs and medical devices, from FDA enforcement reports.
USDA Food Safety and Inspection Service
Meat, poultry and egg products, plus public health alerts.
National Highway Traffic Safety Administration
Cars, trucks, tires, car seats and vehicle equipment.
A barcode in, the recall out
Barcodes are pulled from each notice and verified by check digit, so a scan or a SKU list finds the recall even when the agency buried the code in a paragraph.
curl https://recallrelay.com/v1/upc/867166000004 \ -H "X-API-Key: $RECALLRELAY_KEY"
import os, requests
r = requests.get(
"https://recallrelay.com/v1/upc/867166000004",
headers={"X-API-Key": os.environ["RECALLRELAY_KEY"]},
)
for recall in r.json()["data"]:
print(recall["title"], recall["severity"])
const res = await fetch(
"https://recallrelay.com/v1/upc/867166000004",
{ headers: { "X-API-Key": process.env.RECALLRELAY_KEY } }
);
const { data } = await res.json();
data.forEach(r => console.log(r.title, r.severity));
Same shape for every agency. An FDA eye-drop recall, a CPSC fire pit and an NHTSA truck recall all come back with the same fields, so your code handles one format.
Response
{
"id": "fda-D-0006-2027",
"source": "fda",
"agency": "FDA",
"category": "drug",
"title": "K.C. Pharmaceuticals, Inc. recalls Sterile Lubricant Dry Eye Relief Eye Drops",
"description": "Sterile Lubricant Dry Eye Relief Eye Drops, 0.5 FL OZ (15 mL); a) LEADER, DISTRIBUTED BY CARDINAL HEALTH, DUBLIN, OHIO 43017, www.myleader.com, NDC 70000-0502-1; b) Crocodile Tears, Distributed by: Crocodile Tears, Palm Beach Gardens, FL 33410, UPC: 8 67166 00000 4; c) Discount drug mart, Discount Drug Mart Food Fair, Medina, OH 44256, UPC: 0 93351 01156 6; d) exchange select, Manufactured for your Military Exchange By: K.C Pharmaceuticals, Inc., Pomona, CA 9176, UPC: 6 14299 05620 6; e) GERI CARE, Distributed by: Gericare Pharmaceuticals Corp., 1295 Towbin Ave., Lakewood, NJ 08701, NDC 57896-181-05; f) H.E.B Dry Eye, Eye Drops, MADE WITH PRIDE & CARE FOR H-E-B, SAN ANTONIO, TX 78204, UPC 0 41220 43741 2; g) Harris Teeter, PROUDLY DISTRIBUTED BY: HARRIS TEETER, LLC, MATTHEWS, NC 28105, UPC: 0 72036 71303 2; h) Foster & Thrive, Distributed by: McKesson Corp. Via Strategic Sourcing Servies LLC., Memphis, TN 38141, NDC 70677-1157-1; I) TopCare health, DISTRIBUTED BY TOPCO ASSOCIATES LLC, ELKGROVE VILLAGE, IL 60007, UPC 0 36800 36100 3.",
"hazard": "Lack of Assurance of Sterility",
"remedy": null,
"classification": "Class II",
"severity": "medium",
"severity_basis": "agency_class",
"status": "ongoing",
"recall_date": "2026-09-11",
"published_date": "2026-10-14",
"companies": [
"K.C. Pharmaceuticals, Inc."
],
"products": [
{
"model": null,
"name": "Sterile Lubricant Dry Eye Relief Eye Drops",
"type": "drug",
"units": "1,327,248 cartons"
}
],
"upcs": [
"867166000004",
"093351011566",
"614299056206",
"041220437412",
"072036713032",
"036800361003"
],
"states": [
"US"
],
"distribution": "US Nationwide",
"units_affected": 1327248,
"url": "https://www.accessdata.fda.gov/scripts/ires/index.cfm?Event=99880",
"images": [],
"extra": {
"api_url": "https://api.fda.gov/drug/enforcement.json?search=recall_number:%22D-0006-2027%22",
"code_info": "Lot: a) LT25B01, Exp.: 02/28/2027; b) LT25D02, Exp.: 04/30/2027; LT25K01, Exp.: 09/30/2027; c) LT25D02, Exp.: 04/30/2027; LT25K01, Exp.: 09/30/2027; d) LT25D02, Exp.: 04/30/2027; LT25M02, Exp.: 10/31/2027; e) LT25B01, Exp.: 02/2
What you can do with it
Search every agency at once
Full-text search with filters for agency, category, severity, state, company and date.
GET /v1/recallsLook up a barcode
UPC, EAN or GTIN in, matching recalls out. Leading zeros and spaces don't matter.
GET /v1/upc/{upc}Check your whole catalog
Send thousands of SKUs in one request. Barcodes give exact matches; brand and name flag possible ones to review.
POST /v1/checkHear about it first
Save a watch for brands, barcodes or keywords. New matching recalls arrive at your webhook, signed, within two hours of publication.
POST /v1/watchesCheck a vehicle
Make, model and year in; every NHTSA recall out, with do-not-drive and park-outside flags.
GET /v1/vehiclesKnow how fresh it is
Every agency's last successful update is public, so you can trust what you're showing customers.
GET /v1/statsWho it's for
Marketplaces and sellers
Pull recalled items before a customer buys them, and prove you checked.
Resale apps
Secondhand cribs, car seats and strollers are where recalled products end up. Screen listings at upload.
Dealers and insurers
Open vehicle recalls for any make, model and year, with the agency's own advisory flags.
Consumer apps
Grocery, parenting and home apps can warn people about the products they own.
Pricing
Every plan covers all four agencies and every endpoint. Pay for volume and alerts.
Starter
- 10,000 requests a month
- 5 recall alerts
- Catalog checks up to 500 items
For teams screening a full catalog
Pro
- 100,000 requests a month
- 50 recall alerts
- Catalog checks up to 5,000 items
Business
- 1,000,000 requests a month
- 500 recall alerts
- Catalog checks up to 50,000 items
Get a free key
Your key appears on the next screen. Use it right away; upgrade whenever you need more.
Questions
Where does the data come from?
Straight from the agencies' public feeds: CPSC's recall database, FDA enforcement reports through openFDA, USDA FSIS recalls and public health alerts (through CDC's food safety syndication and FSIS's own email bulletins) and NHTSA's recall data. Every record links to the agency's own notice. Each agency's coverage is on the status page.
Can I use it in a commercial product?
Yes. U.S. federal recall notices are public information, and openFDA releases its data under a public domain dedication. Your subscription covers our cleaned, combined format, search and alerts. Recall Relay isn't affiliated with or endorsed by any agency.
How fresh is it?
We check every agency every two hours, and each agency's last successful update is shown above and at /v1/stats. FDA's enforcement reports are published weekly, so some FDA recalls appear in the feed days after the company's own announcement.
How is severity decided?
FDA and USDA assign Class I, II or III; we map those to high, medium and low. CPSC and NHTSA don't use classes, so we estimate severity from the hazard description and use NHTSA's do-not-drive and park-outside advisories. A notice that reaches us without a class is marked as an estimate: an FDA recall that isn't classified yet (until it is), a USDA public health alert, and a USDA recall we could only get in summary form (see the status page). Every record says which: agency_class, agency_advisory or estimated.
How do alerts work?
Create a watch with keywords, brands, barcodes or categories and a webhook URL. When a matching recall is published, we POST it to you with an HMAC signature header you can verify. Failed deliveries are retried for several hours.
Is this legal or compliance advice?
No. Recall Relay helps you find recalls quickly; confirm anything important against the agency's notice before acting on it.