Apex US Regulatory Events Feed

Data dictionary

Share us_regulatory_feed, schema gold. Four tables, delivered as Delta Sharing (Parquet) and CSV.

Load one with delta_sharing.load_as_pandas("config.share#us_regulatory_feed.gold.recalls").

Source: U.S. FDA via openFDA (public domain, CC0). Apex is not affiliated with or endorsed by FDA, HHS or any U.S. government agency. FDA says openFDA results should be treated as unvalidated, and the data must not be used to make medical-care decisions. Not medical, legal or regulatory advice.

How to read these tables

recalls

Drug, device and food enforcement reports, cleaned and unified into one table. One row per recall_number (the latest published version). Device recalls are enriched with the product code and root cause from FDA's device recall database.

ColumnTypeMeaning
product_typestringdrug, device or food (the enforcement report it came from)
recall_numberstringKey. FDA's recall number, e.g. D-0119-2025 (drug), Z-1737-2026 (device)
event_idstringFDA recall event ID. One event can cover several products (several recall numbers)
statusstringOngoing, Completed, Terminated or Pending, as published. Can be stale: FDA doesn't update it after classification
classificationstringHealth-hazard class: I (most serious), II, III, or Not Yet Classified. The "Class " prefix is removed
recalling_firmstringFirm that initiated the recall
city, state, countrystringRecalling firm's location
voluntary_mandatedstringE.g. Voluntary: Firm initiated or FDA Mandated
initial_firm_notificationstringHow the firm first notified its customers (Letter, E-Mail, Press Release, ...)
product_descriptionstringProduct recalled, as described in the report
product_quantitystringQuantity in commerce, free text
code_infostringLot numbers, serial numbers and other identifying codes, free text
reason_for_recallstringWhy the product was recalled
distribution_patternstringWhere the product was distributed, free text
report_datedateDate FDA published the record in its weekly Enforcement Report
recall_initiation_datedateDate the firm first notified the public or its consignees
center_classification_datedateDate the FDA center classified the recall
termination_datedateDate FDA terminated the recall (null if not terminated)
device_product_codestringDevice recalls only: three-letter FDA product code, from the device recall database. Joins to device_clearances.product_code
root_cause_descriptionstringDevice recalls only: FDA's root-cause category, e.g. Device Design
first_seendateFirst weekly snapshot that contained this record
last_seendateLatest weekly snapshot that contained this record (equals ingest_date for every row in the current table)
ingest_datedateDate of the weekly pull

device_clearances

Device 510(k) clearances (including De Novo numbers) and PMA approvals and supplements, with FDA's device classification joined on product_code. One row per submission.

ColumnTypeMeaning
submission_idstringKey. 510(k)/De Novo number (e.g. K252083, DEN230064), or PMA number and supplement number joined by | (e.g. P030017|S396)
submission_typestring510k or PMA
submission_numberstring510(k) number or PMA number
supplement_numberstringPMA supplement number (null for 510(k) and original PMAs)
applicantstringCompany that made the submission
device_namestring510(k): device name. PMA: trade name
generic_namestringPMA only: generic device name
product_codestringThree-letter FDA product code
decision_codestringFDA decision code, e.g. SESE (substantially equivalent), APPR (approved), OK30 (30-day notice accepted), DENG (De Novo granted)
decision_descriptionstring510(k) only: decision in words, e.g. Substantially Equivalent
review_typestring510(k): clearance type (Traditional, Special, Abbreviated). PMA: supplement type (30-Day Notice, Real-Time Process, Normal 180 Day Track, ...)
supplement_reasonstringPMA only: why the supplement was filed
advisory_committeestringTwo-letter review panel code, e.g. CV
advisory_committee_descriptionstringReview panel name, e.g. Cardiovascular
city, statestringApplicant's location
country_codestring510(k) only: applicant's country code
date_receiveddateDate FDA received the submission
decision_datedateDate of FDA's decision
device_classstringFrom device classification: 1, 2, 3, U (unclassified), N (not classified) or f (HDE)
medical_specialtystringFrom device classification: two-letter specialty code
medical_specialty_descriptionstringFrom device classification: specialty name
regulation_numberstringFrom device classification: 21 CFR regulation number, e.g. 878.4810
classification_device_namestringFrom device classification: FDA's name for the product code
first_seendateFirst weekly snapshot that contained this record
last_seendateLatest weekly snapshot that contained this record
ingest_datedateDate of the weekly pull

Classification columns are null when the product code has no match in FDA's classification list.

drug_shortages

FDA's published drug shortage list, one row per presentation (package). Week-to-week changes appear in weekly_changes.

ColumnTypeMeaning
shortage_keystringKey. package NDC, generic name, company and presentation joined by |, plus #n. FDA publishes no single ID, so #n separates rare exact duplicates
package_ndcstringNational Drug Code of the package
generic_namestringGeneric drug name and form
company_namestringManufacturer or labeler
presentationstringProduct, form, strength and package, as FDA lists it
dosage_formstringE.g. Injection, Tablet, Capsule
therapeutic_categorystringOne or more categories, separated by ;
statusstringCurrent, Resolved or To Be Discontinued
availabilitystringE.g. Available, Limited Availability, Unavailable, or FDA's free text
shortage_reasonstringReason given for the shortage
related_infostringAdditional information FDA publishes, free text
resolved_notestringNote published when the shortage is resolved
update_typestringFDA's last update type: New, Revised or Reverified
initial_posting_datedateDate FDA first posted the shortage
update_datedateDate of FDA's last update
change_datedateDate FDA last changed the record
discontinued_datedateDate the product is or was discontinued, if any
first_seendateFirst weekly snapshot that contained this record
last_seendateLatest weekly snapshot that contained this record
ingest_datedateDate of the weekly pull

weekly_changes

One row per record that was added, changed or removed in FDA's published data since the previous weekly snapshot. The first snapshot (2026-11-04) lists every record as new.

ColumnTypeMeaning
row_keystringKey of the changed record: recall_number, submission_id or shortage_key
table_namestringrecalls, device_clearances or drug_shortages
change_typestringnew, updated, terminated (a recall whose termination_date became set) or removed (no longer published by FDA)
changed_fieldsstringFor updated and terminated: the comma-separated columns whose values changed. Null otherwise
ingest_datedateWeekly snapshot in which the change was detected

Example, everything that changed this week in recalls: filter table_name = 'recalls' and ingest_date = the latest date, then join row_key to recalls.recall_number.

Every table is a change history of FDA's published records. It does not track the real-world status of a recall. FDA does not update a recall's status after classification.