Reference · built on requestCommons signalHazards & public safety

FSIS Recall API

Meat, poultry, and egg product recalls and public health alerts from the USDA FSIS Recall API as JSON, filterable by state, year, and risk.

About

The Food Safety and Inspection Service of the U.S. Department of Agriculture publishes its recall and public health alert notices through a REST endpoint at https://www.fsis.usda.gov/fsis/api/recall/v/1. The endpoint supports GET only and returns JSON. Each record is a notice as FSIS posted it: field_title, field_recall_number, field_recall_date, field_risk_level, field_recall_classification, field_recall_reason, field_product_items, field_states, field_establishment, field_processing, field_summary, and links to labels and retail distribution lists. Filters take taxonomy ids from the June 2026 documentation, such as field_risk_level_id, field_states_id, field_year_id, and field_recall_type_id.

On Fibric, an operator matches new notices to the establishments and products you buy and proposes a pull from the menu, a lot quarantine, or a supplier query for your approval, with the recall number attached.

This is a reference listing. It documents what Fibric would read from FSIS Recall API and what it could propose, based on the publisher's published interfaces. Fibric builds it under a managed deployment when you request it; selecting it here installs nothing.

Inputs

  • Recall notices from /fsis/api/recall/v/1: field_title, field_recall_number, field_recall_date, field_recall_url, and field_summary
  • Risk and class: field_risk_level (High - Class I, Medium - Class I, Low - Class II, Marginal - Class III, Public Health Alert) and field_recall_classification
  • field_recall_type (Active Recall, Closed Recall, Public Health Alert, Outbreak), field_related_to_outbreak, and field_active_notice
  • Product facts: field_product_items, field_processing, field_establishment, field_qty_recovered, and field_distro_list retail lists
  • Reason codes: field_recall_reason such as Unreported Allergens, Product Contamination, Misbranding, Processing Defect, and Import Violation
  • Geography and time: field_states (including Nationwide), field_year, field_closed_year, and field_last_modified_date
  • Spanish notices via field_translation_language=es, with langcode and field_has_spanish on each record

Proposed actions

Read-only. This feed informs operators; it changes nothing.

Proposed actions are target capabilities. Every action runs propose-first and needs a validated deployment and the appropriate permissions.

What you can build

  • Pull an item from service when its supplier is named

    Poll with field_year_id for the current year and match field_establishment to your suppliers. On a hit, the operator proposes taking the affected menu items off and names the recall.

    With 86 Watch

  • Quarantine cases from a recalled lot

    Match field_product_items and the lot numbers linked in field_summary to cases in your walk-in. The operator proposes a quarantine and attaches the retail distribution list.

    With Lot Quarantine

  • Record the check in the food safety log

    Each run, the operator proposes a log entry listing the notices reviewed, the filters used, and any matches, so the record shows what was checked and when.

    With Food Safety Log

  • Ask the distributor before the next delivery

    When a High - Class I notice names a product you have on order, the operator proposes a query to the distributor and a hold on the open purchase order line.

    With Purchase Order Draft

Requirements

  • The taxonomy ids from Appendix A of the documentation, for example field_states_id=557 for Nationwide and field_risk_level_id=9 for High - Class I
  • Establishment numbers or product names to match against field_establishment and field_product_items
  • A parser for HTML in field_summary, which arrives as escaped markup with links to labels and lot numbers
Authentication
None. The documentation shows unfiltered GET requests to the public endpoint with no key; FSIS asks that questions go to its contact form.

Limits

  • Filters take Drupal taxonomy ids, not names; the year list and state list must be kept in step with Appendix A
  • Text filters field_product_items_value and field_summary_value match substrings, not exact values
  • The documentation lists no pagination, sort, or rate limit; an unfiltered request returns the whole set
  • Retail distribution lists and labels are PDFs referenced by filename, not structured data

Access and pricing

Reference listing. Public feed access is separate from Fibric integration. If you request this feed, your quote covers the build, usage, and support.

Request FSIS Recall API ↗

Questions and answers

What does a filtered request look like?
The documentation gives https://www.fsis.usda.gov/fsis/api/recall/v/1?field_states_id=33&field_closed_year_id=446, which returns closed recalls for Florida with a closed year of 2021. Unused filters can be left out; the site's own filter form adds them as All.
How are risk levels coded?
field_risk_level_id takes 9 for High - Class I, 8 for Medium - Class I, 7 for Low - Class II, 611 for Marginal - Class III, and 555 for Public Health Alert. field_recall_classification_id takes 10, 11, and 12 for Class I, II, and III and 554 for Public Health Alert.
Is there a key or a rate limit?
No key is shown. The API page says the endpoint supports GET only and returns JSON, and neither the page nor the June 2026 documentation states a rate limit. The page was last updated September 7, 2023.
Ask about FSIS Recall API

Ask about the capabilities and requirements in this listing.

For project-specific requirements, contact Fibric.