{
  "openapi": "3.1.0",
  "info": {
    "title": "Food Recalls API",
    "version": "1.0.0",
    "description": "All 29,316 FDA food and supplement recalls since 2004, with class, reason, firm and distribution, synced nightly.\n\nEvery FDA food recall since 2004, searchable and synced nightly. All 29,316 food and dietary-supplement enforcement reports from openFDA — 12,867 of them Class I (serious risk of harm), 7,492 involving Listeria — each with product description, recall reason, recalling firm and location, distribution pattern, quantities, voluntary/mandated status, notification method, and initiation/report/termination dates. Search free-text across products, reasons and firms ('listeria' + Class I = 6,142 recalls), filter by classification, state, status, firm or date, look a recall up by its number, and pull aggregate stats by classification, year, state or status. A 120-day window re-syncs nightly, so new recalls and status changes (Ongoing → Terminated) land within a day. Completes our recalls suite alongside Product Recalls (CPSC), Vehicle Recalls (NHTSA) and the drug recalls inside the Drugs API: food-safety alerting, grocery and delivery apps, insurers, supply-chain compliance and newsrooms.",
    "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/food-recalls.webp"
    }
  },
  "externalDocs": {
    "description": "Documentation, live tester and pricing",
    "url": "https://dataandapis.com/apis/food-recalls"
  },
  "servers": [
    {
      "url": "https://api-food-recalls.dataandapis.com"
    }
  ],
  "tags": [
    {
      "name": "Health",
      "description": "Food Recalls API belongs to the Health category of the Data and APIs catalog."
    }
  ],
  "paths": {
    "/v1/sources": {
      "get": {
        "operationId": "dataSources",
        "summary": "Data Sources",
        "description": "Data Sources endpoint of the Food Recalls API. Costs 1 token per call.",
        "externalDocs": {
          "url": "https://dataandapis.com/apis/food-recalls/data-sources"
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "ok": true,
                  "sources": [
                    {
                      "slug": "openfda-food",
                      "name": "openFDA food enforcement reports",
                      "publisher": "US Food and Drug Administration",
                      "licence": "US government work (public domain)",
                      "source_url": "https://open.fda.gov/apis/food/enforcement/",
                      "file_url": "https://api.fda.gov/food/enforcement.json",
                      "cadence": "openFDA refreshes weekly; nightly 120-day window sync",
                      "record_count": 29316,
                      "retrieved_at": "2026-09-06"
                    }
                  ]
                }
              }
            }
          },
          "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/food-recalls/{number}": {
      "get": {
        "operationId": "recallLookup",
        "summary": "Recall Lookup",
        "description": "Recall Lookup endpoint of the Food Recalls API. Costs 1 token per call.",
        "externalDocs": {
          "url": "https://dataandapis.com/apis/food-recalls/recall-lookup"
        },
        "parameters": [
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "H-1219-2026"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "ok": true,
                  "recall": {
                    "recall_number": "H-1219-2026",
                    "event_id": "99325",
                    "status": "Ongoing",
                    "classification": "Class I",
                    "product_description": "Selectos Latinos Requeson Mexicano Mexican Cottage Cheese, Net Weight 16 oz, packed into retail-sized clear plastic containers. Keep refrigerated.",
                    "reason": "Products may be contaminated with Listeria monocytogenes.",
                    "recalling_firm": "La Colonia Foods Llc",
                    "city": "Rockville",
                    "state": "MD",
                    "country": "United States",
                    "distribution": "The recalled product was distributed to the following states: MD, VA",
                    "quantity": "169 (16-oz) units",
                    "initiation_date": "2026-06-04",
                    "report_date": "2026-08-12",
                    "termination_date": null,
                    "voluntary": "Voluntary: Firm initiated",
                    "notification": "E-Mail",
                    "updated_at": "2026-09-06 19:57:20"
                  }
                }
              }
            }
          },
          "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/food-recalls/stats": {
      "get": {
        "operationId": "recallStats",
        "summary": "Recall Stats",
        "description": "Recall Stats endpoint of the Food Recalls API. Costs 1 token per call.",
        "externalDocs": {
          "url": "https://dataandapis.com/apis/food-recalls/recall-stats"
        },
        "parameters": [
          {
            "name": "by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "classification"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "ok": true,
                  "by": "classification",
                  "stats": [
                    {
                      "group": "Class II",
                      "recalls": 14704
                    },
                    {
                      "group": "Class I",
                      "recalls": 12867
                    },
                    {
                      "group": "Class III",
                      "recalls": 1745
                    }
                  ]
                }
              }
            }
          },
          "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/food-recalls": {
      "get": {
        "operationId": "searchRecalls",
        "summary": "Search Recalls",
        "description": "Search Recalls endpoint of the Food Recalls API. Costs 1 token per call.",
        "externalDocs": {
          "url": "https://dataandapis.com/apis/food-recalls/search-recalls"
        },
        "parameters": [
          {
            "name": "classification",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "I"
          },
          {
            "name": "firm",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "1"
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "listeria"
          },
          {
            "name": "since",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "2025-01-01"
          },
          {
            "name": "state",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "CA"
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "ok": true,
                  "page": 1,
                  "limit": 3,
                  "total": 123,
                  "total_pages": 41,
                  "recalls": [
                    {
                      "recall_number": "H-0939-2026",
                      "event_id": "98993",
                      "status": "Ongoing",
                      "classification": "Class I",
                      "product_description": "HH Fresh Trading Corp. (branded) ENOKI MUSHROOM; Premium Quality; Net WT/ Poids Net 150g(5.29oz) Distributed by HH Fresh Trading Exported by JIA YANG INTERNATIONAL ENTERPRISES CO., LTD. Produced by Green Farm (Taiwan) UPC: 4711498860002",
                      "reason": "Imported Enoki Mushrooms tested positive for Listeria Monocytogenes.",
                      "recalling_firm": "HH FRESH TRADING CORP",
                      "city": "Los Angeles",
                      "state": "CA",
                      "country": "United States",
                      "distribution": "Product was distributed to a single customer located in Texas. Product was further distributed as samples were collected in Florida.",
                      "quantity": "120 cases",
                      "initiation_date": "2026-05-11",
                      "report_date": "2026-06-17",
                      "termination_date": null,
                      "voluntary": "Voluntary: Firm initiated",
                      "notification": "Telephone",
                      "updated_at": "2026-09-06 19:57:20"
                    },
                    {
                      "recall_number": "H-0898-2026",
                      "event_id": "99001",
                      "status": "Ongoing",
                      "classification": "Class I",
                      "product_description": "Enoki Mushroom, Net Weight 150g; Product of Korea; Distributed by IQ Produce UPC: 8809316 814286",
                      "reason": "Imported Enoki Mushrooms samples collected by Florida Department of Health tested positive for Listeria Monocytogenes.",
                      "recalling_firm": "IQ PRODUCE, LLC",
                      "city": "Vernon",
                      "state": "CA",
                      "country": "United States",
                      "distribution": "Product was distributed to 3 California customers.",
                      "quantity": "319 units",
                      "initiation_date": "2026-05-14",
                      "report_date": "2026-06-10",
                      "termination_date": null,
                      "voluntary": "Voluntary: Firm initiated",
                      "notification": "Two or more of the following: Email, Fax, Letter, Press Rele",
                      "updated_at": "2026-09-06 19:57:20"
                    },
                    {
                      "recall_number": "H-0686-2026",
                      "event_id": "98725",
                      "status": "Ongoing",
                      "classification": "Class I",
                      "product_description": "Black label with blue lettering. FOOD Korean Food, ENOKI MUSHROOM, 150g clear plastic package; Product of Korea, Keep Refrigerated. Distributed by Hemu Trading Inc. UPC: 8801234567893",
                      "reason": "product tested positive for Listeria Monocytogenes.",
                      "recalling_firm": "HEMU TRADING INC",
                      "city": "Los Angeles",
                      "state": "CA",
                      "country": "United States",
                      "distribution": "5 direct account consignees located in CA, FL and MD.",
                      "quantity": "1056 cases (34 packs/case)",
                      "initiation_date": "2026-04-02",
                      "report_date": "2026-05-06",
                      "termination_date": null,
                      "voluntary": "Voluntary: Firm initiated",
                      "notification": "Two or more of the following: Email, Fax, Letter, Press Rele",
                      "updated_at": "2026-09-06 19:56:34"
                    }
                  ]
                }
              }
            }
          },
          "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": []
    }
  ]
}