Home › Funding, grants and compliance › FDA Recalls API
Track FDA drug recalls, medical device recalls and food recalls from the free openFDA enforcement API: recall number, product, recalling firm, class I/II/III, status, reason, dates, distribution and a severity score. No login, no proxy.
| Field | Name | Required | What it does |
|---|---|---|---|
categories | Product categories | no | Which FDA enforcement reports to read: drug, device (medical devices) and food. Leave empty to read all three. |
daysBack | Report window (days) | no | Keep recalls whose FDA report date falls in the last N days. |
classifications | FDA classes | no | Optional. Class I is the most serious (reasonable chance of serious harm or death), class III the least. Leave empty for all classes. |
ongoingOnly | Ongoing recalls only | no | Turn on to hide recalls the FDA already marks as completed or terminated. |
minSeverityScore | Minimum severity score | no | Optional 0 to 100. Keep only rows at or above this score. 80 or more is roughly class I. |
keyword | Keyword filter | no | Optional phrase that must appear in the reason or product description, for example "listeria" or "undeclared milk". |
maxItems | Max rows | no | Stop after this many rows, newest report date first. You pay only for rows delivered. |
One row per result. These are the 21 fields declared in the actor's dataset schema (field list from the schema, not a sample run).
| Field | Type | Meaning |
|---|---|---|
recallNumber | string | |
productType | string | |
productDescription | string | |
recallingFirm | string | |
city | string | |
state | string | |
country | string | |
classification | string | |
status | string | |
reasonForRecall | string | |
reportDate | string | |
recallInitiationDate | string | |
classificationDate | string | |
daysSinceReport | integer | |
distributionPattern | string | |
productQuantity | string | |
voluntaryMandated | string | |
severityScore | integer | |
eventId | string | |
recordUrl | string | |
scrapedAt | string |
Public data only, no login. Fields a source does not publish come back empty rather than guessed. Coverage and freshness follow the underlying public source.
Pay on Apify, no subscription: $0.00093 per recall row (pay per event). The live price is on the actor page.
Disclosure: we build and maintain this actor.