dataset · Chicago Department of Public Health via Chicago Data Portal

Chicago food inspections

Every routine canvass, license, and complaint-driven food-establishment inspection by the Chicago Department of Public Health since 2010. One row per inspection; outcome is the results field (Pass / Pass w/ Conditions / Fail). The dataset is anonymized at the inspector level — no per-sanitarian variance is recoverable from the public release.

data through 2026-06-12 · 311,714 inspection rows

About this dataset

The Chicago Department of Public Health (CDPH) inspects every food establishment in the city — restaurants, daycares, schools, grocers, long-term-care kitchens, mobile preparers, catering operations. Each inspection produces one row in this dataset, mirrored on the Chicago Data Portal as Socrata table 4ijn-s7e5.

Source

  • Catalog page: Chicago Data Portal
  • Endpoint (SODA v3): POST https://data.cityofchicago.org/api/v3/views/4ijn-s7e5/query.json
  • Rows: 311,714 (one per inspection event)

The inspector-shaped gap

The public release is anonymized at the inspector level. Per-sanitarian variance is the headline finding in academic work like arxiv 2108.05523, but that analysis required CDPH internal data. Stories grounded in the public release can address establishment-level, facility-type-level, and inspection-trigger-level variation — not inspector-level.

The July 2018 schema break

Chicago shifted from a Critical / Serious / Minor citation taxonomy to a Priority / Priority Foundation / Core taxonomy in summer 2018. The violations text field's vocabulary changed at the same time. Cross-period analyses that don't address this are reading two regimes as if they were one. Filter to one window per chart.

Risk tiers + cadence

The risk field carries the city's pre-assigned tier (Risk 1 (High), Risk 2 (Medium), Risk 3 (Low)). The tier governs inspection cadence — Risk 1 establishments are visited more often than Risk 3. As the companion story shows, the tier does not strongly predict inspection outcomes; it predicts how many chances each establishment has to fail.

Caveats

  • Inspector identity is anonymized. Per-sanitarian variance is not recoverable from the public data.
  • License IDs drift. A restaurant that changes ownership or name receives a new license_ ID. Per-establishment trajectories are stable within an ownership tenure but break across one.
  • "Out of Business" / "No Entry" / "Not Ready" / "Business Not Located" are non-inspection outcomes — the inspector arrived and found nothing to inspect. Stories that compute fail rates should restrict to results IN ('Pass', 'Pass w/ Conditions', 'Fail').
  • The 0-license entry. Some inspections have license_ = 0, typically Mobile Food Preparers and event-style operators. Per-establishment rollups should filter these out.

Citation

Chicago Department of Public Health (2026). Food Inspections. Retrieved 2026-06-12 via Chicago Data Portal SODA v3.