FDA food recall enforcement reports, newest first by report date
FDA food recall enforcement reports, newest first by report date. All filters optional. Each record includes recall number, status (Ongoing/Completed/Terminated/Pending), classification (Class I/II/III), product description, reason for recall, initial-notification mechanism, voluntary-vs-mandated, recalling firm + city/state/country, distribution pattern, and recall + report dates. Backed by OpenFDA's /food/enforcement endpoint; public-domain US government records.
Answeringour last check, 2026-09-24
1 of 1checks answered this week
271 msmedian answer time
$0.006listed price per call
$0.006price it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
GET https://2s.io/api/gov/fda-food-recalls
| Category | Commerce and shopping |
|---|---|
| Provider host | 2s.io |
| Networks | eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp |
| Payment schemes | exact |
| Self-reported calls, 30 days | 1 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-09-24 | valid payment request | 402 | $0.006 | 271 ms |
Example input (from the provider)
{
"method": "GET",
"queryParams": {
"classification": "I",
"limit": 20,
"product": "xx",
"state": "xx",
"status": "Ongoing"
},
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"additionalProperties": false,
"properties": {
"classification": {
"description": "Optional class filter. I = life-threatening (e.g., Listeria, undeclared major allergen), II = temporary/reversible health risk, III = unlikely to cause harm (e.g., minor labeling).",
"enum": [
"I",
"II",
"III"
],
"type": "string"
},
"limit": {
"default": 20,
"description": "Max recalls (1-100). Default 20.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"product": {
"description": "Product-name substring match on the recall description. Examples: \"spinach\", \"peanut butter\", \"infant formula\".",
"maxLength": 100,
"minLength": 2,
"type": "string"
},
"state": {
"description": "Optional 2-letter US state of the recalling firm (e.g., \"CA\", \"TX\").",
"maxLength": 2,
"minLength": 2,
"type": "string"
},
"status": {
"description": "Optional status filter.",
"enum": [
"Ongoing",
"Completed",
"Terminated",
"Pending"
],
"type": "string"
}
},
"type": "object"
},
"type": {
"const": "http"
}
},
"required": [
"type",
"method",
"queryParams"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}