Methodology
This page explains exactly how data gets from an official government source onto Public Health Trace: where it comes from, how often it refreshes, what counts as an "active" recall or outbreak, and where the data has real, documented gaps. See Data Coverage for a quick matrix of what's live today by data type and region (United States vs. Global).
How data moves through Public Health Trace
Source
Each registered source (a CDC, FDA, USDA, or EPA feed) is fetched on its own schedule by a dedicated importer.
Import
The importer records what it fetched, when, and whether it succeeded, so every source's freshness can be tracked independently.
Normalize
Records are matched against existing companies, brands, foods, and diseases so the same entity isn't duplicated under slightly different names across sources.
Publish
Normalized records become searchable on Public Health Trace, cross-linked to related recalls, outbreaks, diseases, and foods, with a link back to the original source.
Refresh schedule and staleness
Every registered source has a tracked staleness threshold. For sources with a confirmed live feed, that threshold is 48 hours: if a source hasn't completed a successful import within that window, our internal health check flags it as potentially stale. Sources that don't yet have a confirmed live feed (see data sources) are excluded from that check entirely, since they haven't run yet by design, not because something broke.
Separately, an individual outbreak or recall record can be marked provisional -- meaning the agency that published it may still revise it (for example, current-year outbreak counts CDC continues to update as case investigations close). This is a property of the record itself, independent of whether its source is currently up to date.
What "active" means
Neither recalls nor outbreaks come from their source with a clean "is this currently active" flag, so Public Health Trace approximates it honestly from the fields the data actually has:
- Active recall
- Status is not Terminated or Closed.
- Active outbreak
- No end date has been recorded, and the outbreak started within the last 12 months. CDC's outbreak surveillance data has no investigation-status field at all, so recency is the closest honest proxy available.
Why Public Health Trace's numbers can differ from an agency's own site
Public Health Trace imports on a schedule, not in real time, so there can be a short lag between an agency publishing an update and it appearing here. Public Health Trace also links every record to its official source specifically so you can always check the current, authoritative version directly -- Public Health Trace is a way to search and cross-reference that data, not a replacement for the agency's own record.
Deduplication and normalization
Recalls and outbreaks are linked to shared company, brand, food, and disease records rather than storing a separate copy of each name per source. This is what makes it possible to see, for example, every recall associated with a given company or every outbreak linked to a given food, even when they came from different source feeds.
Known limitations
- Recall lot codes and package sizes. Recall detail pages are designed to show lot codes, package sizes, and consumer instructions, but none of the current importers capture these fields from their source feeds yet. Where this happens, the page shows "Not published in this source record" rather than inventing a value.
- USDA FSIS recall data. This importer is built against USDA's published recall API, but live connectivity to that feed is still being confirmed from our production environment. Until that's verified, USDA recalls are not yet flowing into Public Health Trace -- see data sources for current status.
- Some sources have no machine-readable feed. A few agencies (FDA outbreak investigations, WHO per-disease outbreak data, and Georgia's state health department) publish this specific data only as narrative web pages or don't publish a matching feed at all. Public Health Trace lists these honestly as not-yet-connected rather than showing empty results as if they were current.
- Drug recall data source and timing. Public Health Trace uses the FDA's structured openFDA Drug Enforcement API as the authoritative source for Drug Recall records. FDA.gov's own recall-announcement page is also ingested (LLM-extracted, not hand-scraped) as a second, early-warning source -- a newly announced recall can appear there days before the matching structured openFDA record exists. These announcements are shown as pending on the Drug Recalls page, clearly marked, until confirmed against the structured record; they are never presented as official enforcement records on their own.
See all data sources for the full, current status of every source, and our editorial policy for how titles and summaries are generated from this data.
