US FDA Safety Recalls & Enforcement Actions
Source, license and coverage
Supplier documentation. These claims are separate from the automated sample score. A listing edit date is not a data freshness date.
- License
- Not documented — confirm reuse terms with the seller
- Source / creator
- Supplier-cited: openFDA
- Collection method
- Supplier description: Wide-coverage dataset of 45,000 US FDA enforcement actions spanning food, drug, and medical device recalls. Sourced from three openFDA enforcement APIs and unified into a single normalized schema with 22 columns.
- Coverage start
- Not documented
- Coverage end
- Not documented
- Data last updated
- Not documented
- Update schedule
- Not documented
Source attribution is supplier-reported. The source link identifies publisher documentation; it does not independently verify this uploaded extract.
Sample structure score: 99.6 / 100
This automated check describes the inspected sample, not factual accuracy, legal rights, representativeness, or the quality of the entire dataset. It is not a customer rating.
Assessed 10 sample records (CSV) on 2026-10-09. All records in the provided sample were checked.
| Check | Points | Evidence |
|---|---|---|
| Populated cells | 49.8 / 50 | 219 of 220 top-level cells contain a value. Null, absent and blank values count as missing; zero and false count as populated. |
| Consistent value types | 29.9 / 30 | 218 of 219 populated cells match their column's most common observed type. Types are inferred, not checked against real-world truth. |
| Consistent record shape | 20 / 20 | 10 of 10 records have the expected fields. CSV/TSV use the header width; JSON uses the union of observed keys. |
Field-level findings and improvements
Check missing cells and mixed types below. Document intentional missing values or mixed types in your field descriptions. Do not fill legitimate unknowns with invented values just to increase this score.
| Field | Missing cells | Most common type | Other populated types |
|---|---|---|---|
| recall_number | 0 / 10 | string | 0 / 10 |
| product_type | 0 / 10 | string | 0 / 10 |
| event_id | 0 / 10 | number | 0 / 10 |
| status | 0 / 10 | string | 0 / 10 |
| classification | 0 / 10 | string | 0 / 10 |
| recalling_firm | 0 / 10 | string | 0 / 10 |
| city | 0 / 10 | string | 0 / 10 |
| state | 0 / 10 | string | 0 / 10 |
| country | 0 / 10 | string | 0 / 10 |
| voluntary_mandated | 0 / 10 | string | 0 / 10 |
| initial_firm_notification | 0 / 10 | string | 0 / 10 |
| product_description | 0 / 10 | string | 0 / 10 |
| reason_for_recall | 0 / 10 | string | 0 / 10 |
| distribution_pattern | 0 / 10 | string | 0 / 10 |
| product_quantity | 0 / 10 | string | 1 / 10 |
| code_info | 0 / 10 | string | 0 / 10 |
| recall_initiation_date | 0 / 10 | string | 0 / 10 |
| center_classification_date | 0 / 10 | string | 0 / 10 |
| report_date | 0 / 10 | string | 0 / 10 |
| termination_date | 1 / 10 | string | 0 / 9 |
| recall_year | 0 / 10 | number | 0 / 10 |
| recall_class_num | 0 / 10 | number | 0 / 10 |
About this data
Unified dataset of FDA enforcement actions across food, drug, and medical device recalls from three openFDA APIs, with 22 normalized columns including product type, classification, firm location, recall status, and reason. Covers multiple years of US and international FDA enforcement activity.
Retrieve with your agent or Python
Create an account and configure DATABAZAAR_API_KEY. This example retrieves free or already purchased data; it never makes a purchase. For a multi-file dataset, choose a file index from the manifest.
Download the Python examplepython3 retrieve-dataset.py 02a4db9f-0cb9-45f9-bb5a-618b37248399 --output dataset.bin
Full supplier documentation
Schema
| Name | Type | Description |
|---|---|---|
| recall_number | string | unique FDA recall identifier |
| product_type | string | food, drug, or device |
| event_id | string | FDA event identifier |
| status | string | Ongoing, Terminated, Completed |
| classification | string | Class I (dangerous/defective), Class II (may cause health problems), Class III (unlikely to cause harm) |
| recalling_firm | string | company issuing the recall |
| city | string | firm location |
| state | string | firm location |
| country | string | firm location |
| voluntary_mandated | string | whether the recall was voluntary or FDA-mandated |
| initial_firm_notification | string | how the public was notified |
| product_description | string | detailed product description |
| reason_for_recall | string | why the recall was initiated |
| distribution_pattern | string | geographic distribution of the product |
| product_quantity | string | amount of product recalled |
| code_info | string | lot numbers, UPC codes, expiration dates |
| recall_initiation_date | string | when the recall started (ISO 8601) |
| center_classification_date | string | when FDA classified the recall |
| report_date | string | when the recall was reported |
| termination_date | string | when the recall ended (if applicable) |
| recall_year | string | extracted year for easy filtering |
| recall_class_num | string | numeric class (1, 2, or 3) for sorting/analysis |
Sample Data
Preview a sample of the data before downloading.
Public sample only. Sign in to retrieve the full dataset, including free datasets.
For AI Agents
# 1. Add to your agent's MCP config (claude_desktop_config.json or similar):
{
"mcpServers": {
"databazaar": { "command": "npx", "args": ["databazaar-mcp"] }
}
}
# 2. Your agent can then call:
search_datasets({ query: "US FDA Safety Recalls & Enforc" })
// Found: 02a4db9f-0cb9-45f9-bb5a-618b37248399
get_download_url({ dataset_id: "02a4db9f-0cb9-45f9-bb5a-618b37248399" }) // free — sign in with MCP OAuth first# Free dataset — sign in or use your account API key: curl https://api.databazaar.io/datasets/02a4db9f-0cb9-45f9-bb5a-618b37248399/download-url -H "Authorization: Bearer $DATABAZAAR_API_KEY"