public-service · medical device recall databases
FDA Medical Device Recalls: Two Separate Databases, Explained
The FDA keeps two non-matching device recall datasets, RES and the Enforcement Report; here's how to tell which one you're looking at by its fields.
In this article
Updated: Sources: 1

Start here
What matters now
- The FDA maintains two separate device recall databases: RES and the Enforcement Report.
- RES records carry fields such as cfres_id, res_event_number, and recall_status.
- Enforcement Report device records carry recall_number, event_id, and classification instead.
- The recall class (I, II, III) appears only on Enforcement Report records, not RES records.
- The RES web interface shows its own last-updated date, separate from the API's data.
If you go looking for “the” federal list of medical device recalls, you’ll find there isn’t just one. The U.S. Food and Drug Administration maintains two separate device recall datasets — the CDRH Medical Device Recall database, known as RES, and the device subset of the FDA Enforcement Report. These two datasets do not share a common identifier system. You can tell which one a given record came from by looking at which fields are present on it, not by the recall’s name or product alone.
This original record-reading guide is a general reading aid, not cited evidence. It does not depict a source record; the article text and source links provide the facts.
Key points
- The FDA runs two distinct device recall datasets: the CDRH Medical Device Recall database (RES) and the device portion of the FDA Enforcement Report.
- RES records carry their own identifier and status fields, including
cfres_id,product_res_number,res_event_number,event_date_posted,event_date_initiated,recall_status,root_cause_description, andk_numbers. - Enforcement Report device records instead carry
recall_number,event_id,classification,center_classification_date,status, andvoluntary_mandated. - The recall “class” (the FDA’s severity classification) appears only on the Enforcement Report record’s
classificationfield — RES records do not carry a class field. - The RES web interface itself reports its own last-updated date, separate from either dataset’s underlying figures.
Two databases, not one
The FDA does not publish a single, unified device recall list. It publishes the CDRH Medical Device Recall database (“RES”) and, separately, the device-related entries inside the broader FDA Enforcement Report. Each is queryable through its own API endpoint. The RES endpoint reports "last_updated": "2026-09-03" and "total": 59102 (https://api.fda.gov/device/recall.json?limit=1). The Enforcement Report device endpoint reports a different figure and a different stamp: "last_updated": "2026-08-19" and "total": 39794 (https://api.fda.gov/device/enforcement.json?limit=1). Because these are two independent systems, the totals are not meant to be added together or compared as if they described the same underlying set of events.
How to identify an RES record
A record pulled from the CDRH Medical Device Recall database carries its own set of identifying and descriptive fields. The RES endpoint’s schema includes the field cfres_id (https://api.fda.gov/device/recall.json?limit=1) as well as res_event_number (https://api.fda.gov/device/recall.json?limit=1). Alongside those, RES records also carry product_res_number, event_date_posted, event_date_initiated, recall_status, root_cause_description, and k_numbers. If the record you’re looking at has these field names, you’re looking at an RES record.
Report Identification
A record pulled from the device subset of the FDA Enforcement Report uses a different field set entirely. The Enforcement endpoint’s schema includes the field recall_number (https://api.fda.gov/device/enforcement.json?limit=1) as well as classification (https://api.fda.gov/device/enforcement.json?limit=1). Enforcement records also carry event_id, center_classification_date, status, and voluntary_mandated. If the record you’re looking at has these field names instead, you’re looking at an Enforcement Report record, not an RES record.
Where the recall “class” lives
Readers often look specifically for a recall’s “class” (Class I, II, or III), which signals the FDA’s own severity categorization. That field lives only on the Enforcement Report record, in its classification field (https://api.fda.gov/device/enforcement.json?limit=1). The RES record has no equivalent class field among its fields — RES instead exposes a recall_status field and a root_cause_description field, which describe a different aspect of the same general subject (device recalls) but do not carry the class designation.
Page Currency
Beyond the two API datasets, the RES database also has its own public search interface, which independently states its own update stamp. That page reports “Page Last Updated: 09/04/2026” (https://www.accessdata.fda.gov/scripts/cdrh/cfdocs/cfRES/res.cfm). This is the RES interface’s own self-reported update date, separate from the API’s last_updated value cited above.
What this article does not cover
This article explains how to tell the two datasets apart by their field structures — it does not explain why the RES total, the Enforcement Report total, and their respective last-updated stamps differ from one another, and it does not attempt to reconcile, map, or subtract one dataset’s figures against the other’s. It also does not evaluate, characterize, or draw any conclusion about any specific device, manufacturer, or hazard that might appear in either dataset. Readers who need that kind of case-specific detail should consult the underlying record directly on the FDA’s own search interface.
Source records
https://www.accessdata.fda.gov/scripts/cdrh/cfdocs/cfRES/res.cfm