How it works

A weekly digest of material changes in the USDA FSIS MPI establishment directory — with immutable snapshots and before/after evidence.

Weekly collection healthy · last run Aug 23, 2026

What you get

Each week, after FSIS publishes an updated establishment directory, you receive a report of material changes — plants added, removed, or with meaningful field updates. Every event includes the before and after values from archived snapshots, plus a content hash proving which official file was used.

Reports ship as CSV and email. Optional vendor-fit tags help equipment, packaging, sanitation, and compliance vendors prioritize research — they are heuristics, not purchase-intent signals.

The pipeline

  1. Fetch Download the full establishment list from the official FSIS MPI API. Failed or partial downloads are rejected — never treated as empty.
  2. Archive Store an immutable snapshot with a SHA256 content hash. Each file is dated and never overwritten.
  3. Normalize Canonicalize establishment identities, activities, and addresses so diffs are comparable week over week.
  4. Diff Compare against the prior successful snapshot. Score materiality. Attach before/after evidence for every detected change.
  5. Deliver Send the weekly change report. Skip delivery if the fetch failed or guards flagged an abnormal removal pattern.

What it is

  • SourceUSDA FSIS MPI
  • CadenceWeekly
  • CoverageFederal MPI
  • EvidenceSHA256 + diff

What it isn't

  • Purchase intentNo
  • State-only plantsNo
  • Real-timeNo
  • Credit / financialNo

Live snapshot provenance

From our most recent successful collect — not simulated data

Why zero changes? One baseline snapshot on file. Weekly diffs start after the next official FSIS publish. · Live stats JSON

Change types we detect

When two consecutive snapshots exist, the diff engine flags:

Removals need review. A directory removal does not always mean a plant closed — it can reflect grant changes, consolidation, or FSIS corrections. We flag removals for verification and never emit them from failed fetches.

Safety guards

View sample output ← Home