{
  "openapi": "3.1.0",
  "info": {
    "title": "Product Recalls API",
    "version": "1.0.0",
    "description": "Every US consumer product recall since 1973 from the CPSC, searchable and refreshed daily, with UPC lookup.\n\nEvery US consumer product recall since 1973, from the Consumer Product Safety Commission and refreshed daily: 9,990 recalls covering toys, furniture, appliances, electronics, bikes and everything else the CPSC pulls off shelves. Each recall carries the full story — affected products with models and unit counts, the hazard in plain English, the remedy (refund, repair, replace), reported injuries, retailers and sale dates, countries of manufacture, official images and consumer contact details. Search by keyword, product type, retailer, hazard or country of manufacture (Peloton finds the Bike+ recall; IKEA surfaces 54 recalls); pull the latest recalls for a safety feed; or hit the barcode endpoint with a UPC to answer the question e-commerce and resale platforms must answer before listing an item: has this exact product been recalled? Stats endpoints trend recalls by year, remedy and country (China accounts for 4,683). New and revised recalls sync from the CPSC daily. Pairs with our Vehicle Recalls (NHTSA) and Drugs (FDA) APIs for full recall coverage. Public-domain source data, self-hosted — no third-party calls at request time.",
    "contact": {
      "name": "Data and APIs",
      "url": "https://dataandapis.com/contact"
    },
    "termsOfService": "https://dataandapis.com/terms-of-service",
    "license": {
      "name": "Data and APIs Terms of Service",
      "url": "https://dataandapis.com/terms-of-service"
    },
    "x-logo": {
      "url": "https://dataandapis.com/images/product-recalls.webp"
    }
  },
  "externalDocs": {
    "description": "Documentation, live tester and pricing",
    "url": "https://dataandapis.com/apis/product-recalls"
  },
  "servers": [
    {
      "url": "https://api-product-recalls.dataandapis.com"
    }
  ],
  "tags": [
    {
      "name": "Data",
      "description": "Product Recalls API belongs to the Data category of the Data and APIs catalog."
    }
  ],
  "paths": {
    "/v1/recalls/upc/{upc}": {
      "get": {
        "operationId": "checkBarcode",
        "summary": "Check Barcode",
        "description": "Check Barcode endpoint of the Product Recalls API. Costs 1 token per call.",
        "externalDocs": {
          "url": "https://dataandapis.com/apis/product-recalls/check-barcode"
        },
        "parameters": [
          {
            "name": "upc",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "840059614922"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "ok": true,
                  "upc": "840059614922",
                  "recalled": true,
                  "count": 1,
                  "results": [
                    {
                      "recall_id": 10930,
                      "recall_number": "26702",
                      "recall_date": "2026-08-13",
                      "title": "Hampton Bay Halwin 52-Inch Ceiling Fans Recalled Due to Impact and Injury Hazards; Manufactured by Youngo Limited",
                      "products": "Hampton Bay Halwin 52-inch Indoor/Outdoor Ceiling Fans",
                      "product_types": null,
                      "hazard": "The fan blades can separate from the fan motor flywheel, posing impact and injury hazards to consumers.",
                      "remedy_options": "Refund",
                      "units": "About 9,460",
                      "countries_of_manufacture": "China",
                      "url": "https://www.cpsc.gov/Recalls/2026/Hampton-Bay-Halwin-52-Inch-Ceiling-Fans-Recalled-Due-to-Impact-and-Injury-Hazards-Manufactured-by-Youngo-Limited"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key"
          },
          "402": {
            "description": "Subscription past due; the response carries a payment_url"
          },
          "429": {
            "description": "Monthly token allowance exhausted"
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/v1/sources": {
      "get": {
        "operationId": "dataSources",
        "summary": "Data Sources",
        "description": "Data Sources endpoint of the Product Recalls API. Costs 1 token per call.",
        "externalDocs": {
          "url": "https://dataandapis.com/apis/product-recalls/data-sources"
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "ok": true,
                  "count": 1,
                  "sources": [
                    {
                      "slug": "cpsc-recalls",
                      "name": "CPSC Recall Database",
                      "publisher": "US Consumer Product Safety Commission",
                      "licence": "US Government work - public domain",
                      "source_url": "https://www.cpsc.gov/Recalls",
                      "file_url": "https://www.saferproducts.gov/RestWebServices/Recall?format=json",
                      "cadence": "continuous (recalls published weekly)",
                      "record_count": 9990,
                      "retrieved_at": "2026-09-05"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key"
          },
          "402": {
            "description": "Subscription past due; the response carries a payment_url"
          },
          "429": {
            "description": "Monthly token allowance exhausted"
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/v1/recalls/{id}": {
      "get": {
        "operationId": "getRecall",
        "summary": "Get Recall",
        "description": "Get Recall endpoint of the Product Recalls API. Costs 1 token per call.",
        "externalDocs": {
          "url": "https://dataandapis.com/apis/product-recalls/get-recall"
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "10949"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "ok": true,
                  "recall": {
                    "recall_id": 10949,
                    "recall_number": "26733",
                    "recall_date": "2026-09-03",
                    "title": "Adult Portable Bed Rails Recalled Due to Risk of Serious Injury or Death from Entrapment and Asphyxiation; Violate Mandatory Standard for Adult Portable Bed Rails; Sold on Amazon by Loyoda Direct and Loyoda",
                    "products": "Loyoda Adult Portable Bed Rails",
                    "product_types": "Adult Bed Rails",
                    "hazard": "The recalled bed rails violate the mandatory standard for adult portable bed rails because users can become entrapped within the bed rail or between the bed rail and the side of the mattress, posing a serious entrapment hazard and risk of death by asphyxiation. The bed rails also do not meet retention strap requirements, posing a fall hazard. The bed rails’ push pins and push pin holes are incorrectly sized, posing a laceration hazard. In addition, the bed rails do not bear the required hazard warning labels.",
                    "remedy_options": "Refund",
                    "units": "About 2,200",
                    "countries_of_manufacture": "China",
                    "url": "https://cpsc.gov/Recalls/2026/Adult-Portable-Bed-Rails-Recalled-Due-to-Risk-of-Serious-Injury-or-Death-from-Entrapment-and-Asphyxiation-Violate-Mandatory-Standard-for-Adult-Portable-Bed-Rails-Sold-on-Amazon-by-Loyoda-Direct-and-Loyoda",
                    "description": "This recall involves Loyoda-branded adult portable bed rails. The bed rail comes in silver, measures 13.38 inches wide by 17.71 inches tall and can be extended to 20.47 inches tall. “Loyoda” and the model “FBL140202” are both printed on labels on the product. Only bed rails  manufactured before Dece…",
                    "consumer_contact": "Loyoda by email at support@loyoda.com",
                    "last_publish_date": "2026-09-03",
                    "sold_at": "Fangzhou Overseas Consulting Shenzhen Co., Ltd., doing business as Loyoda Direct, of China, Shenzhen Taizai Trading Co., Ltd., doing business as Loyoda, of China",
                    "products_detail": [
                      {
                        "Name": "Loyoda Adult Portable Bed Rails",
                        "Description": "",
                        "Model": "",
                        "Type": "Adult Bed Rails",
                        "CategoryID": "1791",
                        "NumberOfUnits": "About 2,200"
                      }
                    ],
                    "hazards": [
                      {
                        "Name": "The recalled bed rails violate the mandatory standard for adult portable bed rails because users can become entrapped within the bed rail or between the bed rail and the side of the mattress, posing a serious entrapment hazard and risk of death by asphyxiation. The bed rails also do not meet retention strap requirements, posing a fall hazard. The bed rails’ push pins and push pin holes are incorrectly sized, posing a laceration hazard. In addition, the bed rails do not bear the required hazard warning labels.",
                        "HazardType": "",
                        "HazardTypeID": ""
                      }
                    ],
                    "remedies": [
                      {
                        "Name": "Consumers should stop using the recalled adult portable bed rails immediately and contact Loyoda for a full refund. Consumers will be asked to cut the black safety strap in half and write “RECALLED” on the upper and lower bed rails with a permanent marker, take a photo of the marked bed rail and email the photo to support@loyoda.com in order to receive a refund."
                      }
                    ],
                    "injuries": [
                      {
                        "Name": "None reported."
                      }
                    ],
                    "retailers": [
                      {
                        "Name": "Fangzhou Overseas Consulting Shenzhen Co., Ltd., doing business as Loyoda Direct, of China",
                        "CompanyID": ""
                      },
                      {
                        "Name": "Shenzhen Taizai Trading Co., Ltd., doing business as Loyoda, of China",
                        "CompanyID": ""
                      }
                    ],
                    "manufacturers": [],
                    "importers": [],
                    "distributors": [],
                    "images": [
                      {
                        "URL": "https://www.cpsc.gov/s3fs-public/Picture12_11.jpg?VersionId=6cY_MUr2LLSwEY8N0XrfpzwyleCRSUpI",
                        "Caption": "Recalled Loyoda Bed Rail for Seniors"
                      },
                      {
                        "URL": "https://www.cpsc.gov/s3fs-public/Picture13_9.jpg?VersionId=4MwExG_5j79bEOnJq9H8qzfWTjaIU3rk",
                        "Caption": "Loyoda label on the bed rail"
                      }
                    ],
                    "upcs": []
                  }
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key"
          },
          "402": {
            "description": "Subscription past due; the response carries a payment_url"
          },
          "429": {
            "description": "Monthly token allowance exhausted"
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/v1/recalls/latest": {
      "get": {
        "operationId": "latestRecalls",
        "summary": "Latest Recalls",
        "description": "Latest Recalls endpoint of the Product Recalls API. Costs 1 token per call.",
        "externalDocs": {
          "url": "https://dataandapis.com/apis/product-recalls/latest-recalls"
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "10"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "ok": true,
                  "count": 3,
                  "results": [
                    {
                      "recall_id": 10950,
                      "recall_number": "26737",
                      "recall_date": "2026-09-03",
                      "title": "OKK Trading Recalls Rainbow Mystery Squishy Bun Toys Due to Risk of Serious Injury or Death from Water Bead Ingestion; Violate Mandatory Standard for Toys",
                      "products": "Rainbow Mystery Squishy Bun Toys",
                      "product_types": "Squeeze or Squeaker Toys",
                      "hazard": "The squishy bun toys violate the mandatory safety standard for toys because the water beads inside the dumplings expand larger than permitted, posing a deadly ingestion hazard. If a water bead is ingested, it can pose ingestion, choking, and intestinal obstruction hazards inside a child’s body, resulting in severe discomfort, vomiting, dehydration and a risk of death to a child.",
                      "remedy_options": "Refund",
                      "units": "About 7,200",
                      "countries_of_manufacture": "China",
                      "url": "https://cpsc.gov/Recalls/2026/OKK-Trading-Recalls-Rainbow-Mystery-Squishy-Bun-Toys-Due-to-Risk-of-Serious-Injury-or-Death-from-Water-Bead-Ingestion-Violate-Mandatory-Standard-for-Toys"
                    },
                    {
                      "recall_id": 10949,
                      "recall_number": "26733",
                      "recall_date": "2026-09-03",
                      "title": "Adult Portable Bed Rails Recalled Due to Risk of Serious Injury or Death from Entrapment and Asphyxiation; Violate Mandatory Standard for Adult Portable Bed Rails; Sold on Amazon by Loyoda Direct and Loyoda",
                      "products": "Loyoda Adult Portable Bed Rails",
                      "product_types": "Adult Bed Rails",
                      "hazard": "The recalled bed rails violate the mandatory standard for adult portable bed rails because users can become entrapped within the bed rail or between the bed rail and the side of the mattress, posing a serious entrapment hazard and risk of death by asphyxiation. The bed rails also do not meet retention strap requirements, posing a fall hazard. The bed rails’ push pins and push pin holes are incorrectly sized, posing a laceration hazard. In addition, the bed rails do not bear the required hazard warning labels.",
                      "remedy_options": "Refund",
                      "units": "About 2,200",
                      "countries_of_manufacture": "China",
                      "url": "https://cpsc.gov/Recalls/2026/Adult-Portable-Bed-Rails-Recalled-Due-to-Risk-of-Serious-Injury-or-Death-from-Entrapment-and-Asphyxiation-Violate-Mandatory-Standard-for-Adult-Portable-Bed-Rails-Sold-on-Amazon-by-Loyoda-Direct-and-Loyoda"
                    },
                    {
                      "recall_id": 10948,
                      "recall_number": "26731",
                      "recall_date": "2026-09-03",
                      "title": "Audio Partnership Recalls Cambridge Audio Yoyo (M) Portable Bluetooth Speakers Due to Fire Hazard",
                      "products": "Cambridge Audio Yoyo (M) Portable Bluetooth Speakers",
                      "product_types": "Speakers",
                      "hazard": "The lithium-ion batteries in the Cambridge Audio Yoyo (M) Portable Bluetooth Speaker can overheat, posing a fire hazard.",
                      "remedy_options": "Refund",
                      "units": "About 714",
                      "countries_of_manufacture": "China",
                      "url": "https://cpsc.gov/Recalls/2026/Audio-Partnership-Recalls-Cambridge-Audio-Yoyo-M-Portable-Bluetooth-Speakers-Due-to-Fire-Hazard"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key"
          },
          "402": {
            "description": "Subscription past due; the response carries a payment_url"
          },
          "429": {
            "description": "Monthly token allowance exhausted"
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/v1/recalls/stats": {
      "get": {
        "operationId": "recallStatistics",
        "summary": "Recall Statistics",
        "description": "Recall Statistics endpoint of the Product Recalls API. Costs 1 token per call.",
        "externalDocs": {
          "url": "https://dataandapis.com/apis/product-recalls/recall-statistics"
        },
        "parameters": [
          {
            "name": "by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "country"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "ok": true,
                  "dimension": "country",
                  "count": 8,
                  "results": [
                    {
                      "key": "China",
                      "recalls": 4683
                    },
                    {
                      "key": "United States",
                      "recalls": 1564
                    },
                    {
                      "key": "Taiwan",
                      "recalls": 518
                    },
                    {
                      "key": "Mexico",
                      "recalls": 245
                    },
                    {
                      "key": "Vietnam",
                      "recalls": 187
                    },
                    {
                      "key": "India",
                      "recalls": 148
                    },
                    {
                      "key": "Canada",
                      "recalls": 145
                    },
                    {
                      "key": "Japan",
                      "recalls": 110
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key"
          },
          "402": {
            "description": "Subscription past due; the response carries a payment_url"
          },
          "429": {
            "description": "Monthly token allowance exhausted"
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/v1/recalls": {
      "get": {
        "operationId": "searchRecalls",
        "summary": "Search Recalls",
        "description": "Search Recalls endpoint of the Product Recalls API. Costs 1 token per call.",
        "externalDocs": {
          "url": "https://dataandapis.com/apis/product-recalls/search-recalls"
        },
        "parameters": [
          {
            "name": "country",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "hazard",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "20"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "1"
          },
          {
            "name": "product",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "Peloton"
          },
          {
            "name": "retailer",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "year_from",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "2020"
          },
          {
            "name": "year_to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "2026"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "ok": true,
                  "total": 5,
                  "page": 1,
                  "limit": 20,
                  "count": 3,
                  "results": [
                    {
                      "recall_id": 10467,
                      "recall_number": "26067",
                      "recall_date": "2025-11-06",
                      "title": "Peloton Recalls Original Series Bike+ Exercise Bikes Due to Fall and Injury Hazards",
                      "products": "Peloton Original Series Bike+ Model PL02",
                      "product_types": null,
                      "hazard": "The bike's seat post assembly can break during use, posing fall and injury hazards to the user.",
                      "remedy_options": "Repair",
                      "units": "About 833,000",
                      "countries_of_manufacture": "Taiwan",
                      "url": "https://www.cpsc.gov/Recalls/2026/Peloton-Recalls-Original-Series-Bike-Exercise-Bikes-Due-to-Fall-and-Injury-Hazards"
                    },
                    {
                      "recall_id": 9621,
                      "recall_number": "23201",
                      "recall_date": "2023-05-11",
                      "title": "Peloton Recalls Two Million Exercise Bikes Due to Fall and Injury Hazards",
                      "products": "Peloton Bikes Model PL01",
                      "product_types": null,
                      "hazard": "The bike's seat post assembly can break during use, posing fall and injury hazards to the user.",
                      "remedy_options": "Repair",
                      "units": "About 2.2 million",
                      "countries_of_manufacture": "Taiwan",
                      "url": "https://www.cpsc.gov/Recalls/2023/Peloton-Recalls-Two-Million-Exercise-Bikes-Due-to-Fall-and-Injury-Hazards"
                    },
                    {
                      "recall_id": 9057,
                      "recall_number": "21128",
                      "recall_date": "2021-05-05",
                      "title": "Peloton Recalls Tread+ Treadmills After One Child Died and More than 70 Incidents Reported",
                      "products": "Tread+",
                      "product_types": null,
                      "hazard": "Adult users, children, pets and objects can be pulled underneath the rear of the treadmill, posing a risk of injury or death.",
                      "remedy_options": "Refund, Repair",
                      "units": "About 125,000",
                      "countries_of_manufacture": "Taiwan",
                      "url": "https://www.cpsc.gov/Recalls/2021/Peloton-Recalls-Tread-Plus-Treadmills-After-One-Child-Died-and-More-than-70-Incidents-Reported"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key"
          },
          "402": {
            "description": "Subscription past due; the response carries a payment_url"
          },
          "429": {
            "description": "Monthly token allowance exhausted"
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    }
  },
  "components": {
    "securitySchemes": {
      "ApiKey": {
        "type": "apiKey",
        "in": "header",
        "name": "X-Api-Key",
        "description": "Create a free key at https://dataandapis.com/sign-up. 500 tokens a month on the Free plan; this API costs 1 token per call."
      }
    }
  },
  "security": [
    {
      "ApiKey": []
    }
  ]
}