Restaurant Inspection Scores & Violations (Official City Data)
Pricing
Pay per usage
Restaurant Inspection Scores & Violations (Official City Data)
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Bryan
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Official government restaurant / food-service health inspection results — pulled straight from each city's open-data portal (no scraping, no third-party aggregators) and normalized into one unified schema across cities.
Currently covered (every source verified live against the portal's API):
| City | Source (official) | Dataset | Freshness at build (2026-07-19) | Row grain |
|---|---|---|---|---|
| New York City, NY | NYC DOHMH via NYC Open Data | 43nn-pn8j | newest rows 2026-07-16 | one row per cited violation |
| Chicago, IL | Chicago Dept. of Public Health via Chicago Data Portal | 4ijn-s7e5 | newest rows 2026-07-16 | one row per inspection |
| Austin, TX | Austin Public Health via City of Austin Open Data | ecmv-9xxi | newest rows 2026-05-22 | one row per inspection |
| Cincinnati, OH | Cincinnati Health Dept. via Cincinnati Open Data | rg6p-b3h3 | newest rows 2026-07 | one row per cited violation |
Unified record schema
{"city": "Chicago","state": "IL","business_name": "OLD TOWN POUR HOUSE","address": "120 N LA SALLE ST CHICAGO IL 60602","inspection_date": "2026-07-16T00:00:00.000","inspection_type": "License","result_or_grade": "Fail","score": null,"violations_summary": "3. MANAGEMENT, FOOD EMPLOYEE ... (truncated at 2000 chars)","source_url": "https://data.cityofchicago.org/resource/4ijn-s7e5.json","raw": { "...every original field from the city, verbatim..." }}
raw always carries the complete original record (minus phone numbers), so nothing the
city published is lost — the unified fields are a convenience layer on top, never a replacement.
Honest coverage notes (read before comparing cities)
Cities grade differently; this actor does not translate between grading systems — it reports each city's own fields verbatim:
- NYC — numeric
scorewhere lower is better (0 = clean), plus lettergrade(A/B/C;N/Z/Pare pending states; often empty until a grade is assigned). One row per cited violation: an inspection with 3 violations = 3 rows sharing date/score/grade. - Chicago —
result_or_grade= Pass / Pass w/ Conditions / Fail / Out of Business / No Entry… No numeric score. Full violation narrative inviolations_summary(truncated at 2000 chars; full text always inraw.violations). - Austin — numeric
scorewhere higher is better (100 = perfect). No letter grade or pass/fail, and no violation detail in the city's feed. - Cincinnati —
result_or_grade= the inspection's action status (Approved / Approved - Minor Violations / Not In Compliance…). No numeric score. One row per cited violation, with Ohio food-code section, description, and inspector comments.
So: do not rank a NYC 10 against an Austin 90 — they are different scales in opposite
directions. Compare within a city, or use result_or_grade.
Input
| Field | Type | Default | Notes |
|---|---|---|---|
cities | array | all 4 | nyc, chicago, austin, cincinnati |
businessNameContains | string | — | case-insensitive substring on the establishment name (server-side) |
resultContains | string | — | case-insensitive substring on result/grade, e.g. fail; skips Austin (score-only) with a warning |
since | string | — | ISO date YYYY-MM-DD; only inspections on/after (server-side) |
maxRecordsPerCity | integer | 1000 | newest first |
Records are always returned newest first, so capped runs surface the most recent inspections. If a city portal fails mid-run, the actor fails open: it keeps everything already collected, logs a loud warning naming the city, and continues with the other cities.
Who uses this
- Acquisition / franchise diligence — pull the full inspection history of a target
restaurant (or every location of a brand via
businessNameContains) before a deal. - Food-safety analytics & insurers — track failure rates, repeat violations, and closure actions across markets.
- Journalists & researchers — closures (
actionin NYCraw), failed inspections, pest violations, neighborhood patterns. - Restaurant-tech & delivery platforms — surface official grades next to listings.
Data custody
Values are verbatim from the official source — no inference, no cleanup beyond
whitespace/assembly of address parts, no cross-city score translation. Phone numbers are
stripped. Each record carries source_url so every row is independently checkable against
the city portal.