Chicago Restaurant Inspections Scraper | CDPH Data avatar

Chicago Restaurant Inspections Scraper | CDPH Data

Pricing

from $19.00 / 1,000 results

Go to Apify Store
Chicago Restaurant Inspections Scraper | CDPH Data

Chicago Restaurant Inspections Scraper | CDPH Data

Pull Chicago Department of Public Health restaurant inspection records with name, address, facility type, risk, results, and violations. Filter by ward or result. Ideal for food safety research, restaurant prospecting, and city compliance monitoring.

Pricing

from $19.00 / 1,000 results

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

ParseForge Banner

🌭 Chicago Food Inspection Scraper

🚀 Pull Chicago Department of Public Health food inspection results with pass/fail outcomes, risk levels, and violation details.

🕒 Last updated: 2026-05-25 · 📊 20 fields per record · 250,000+ inspection records · all licensed Chicago food establishments

The Chicago Food Inspection Scraper pulls live results from the City of Chicago Department of Public Health open data portal. Each record carries the establishment name, license number, address, risk category, inspection type, pass/fail outcome, and the full text of violations cited.

🎯 Target Audience💡 Primary Use Cases
Journalists and civic-tech researchersPublic-records reporting, accountability dashboards
Real-estate and insurance analystsNeighborhood risk modeling, due diligence
Marketers and lead-gen teamsBusiness prospecting, market sizing
Data engineers and BI teamsETL pipelines, automated alerting
Academics and urban plannersPolicy research, public-health analysis

📋 What the Chicago Food Inspections Scraper does

  • Pulls live records from the official open-data API in batches of up to 1,000 rows per request
  • Lets you filter by the source's own native columns before download (no post-processing required)
  • Returns one normalized JSON row per record with stable, predictable field names
  • Pushes results to a clean Apify dataset that exports to CSV, Excel, JSON, or XML
  • Auto-paginates so you can pull thousands of records in one run

💡 Why it matters: government open-data portals throttle, rate-limit, and break under heavy load. This actor wraps the official endpoint, handles pagination, normalizes nulls, and gives you a stable schema even when the source UI rearranges its dashboard.

🎬 Full Demo

🚧 Coming soon - GIF demo of the actor running in Apify Console.

⚙️ Input

FieldTypeRequiredDescription
maxItemsintegerNoHow many records to pull. Free plan caps at 10.
FiltersstringNoOptional source-native filters narrow results before download.
{
"maxItems": 100
}
{
"maxItems": 500
}

⚠️ Good to Know: the source endpoint is a public government open-data API. Records reflect what the agency has published as of its most recent refresh cycle and may not be real-time.

📊 Output

FieldDescription
imageUrlImage URL (always null for tabular records)
titlePrimary record title (business name or activity)
urlLink back to the open data portal page
idStable identifier for this record
inspection_idSource field inspection_id
dba_nameSource field dba_name
aka_nameSource field aka_name
license_Source field license_
facility_typeSource field facility_type
riskSource field risk
addressSource field address
citySource field city
stateSource field state
zipSource field zip
inspection_dateSource field inspection_date
inspection_typeSource field inspection_type
resultsSource field results
violationsSource field violations
latitudeSource field latitude
longitudeSource field longitude
sourceUrlOpen data portal URL
scrapedAtISO timestamp when the row was collected
errorError message (null on success) - always last

Sample records

[
{
"imageUrl": null,
"title": "SUBWAY 24453",
"url": "https://data.cityofchicago.org/Health-Human-Services/Food-Inspections/4ijn-s7e5",
"id": "2637321",
"inspection_id": "2637321",
"dba_name": "SUBWAY 24453",
"aka_name": "SUBWAY 24453",
"license_": "2856691",
"facility_type": "Restaurant",
"risk": "Risk 1 (High)",
"address": "111 N WABASH AVE",
"city": "CHICAGO",
"state": "IL",
"zip": "60602",
"inspection_date": "2026-05-22T00:00:00.000",
"inspection_type": "Canvass",
"results": "Pass w/ Conditions",
"violations": "3. MANAGEMENT, FOOD EMPLOYEE AND CONDITIONAL EMPLOYEE; KNOWLEDGE, RESPONSIBILITIES AND REPORTING - Comments: OBSERVED SEVERAL MISSING SIGNED EMPLOYEE HEALTH POLICIES FOR EMPLOYEES MUST PROVIDE AND MAINTAIN.(PRIORITY FOUNDATION 7-38-010)(CITATION ISSUED) | 36. THERMOMETERS PROVIDED & ACCURATE - Comments: OBSERVED NO INTERIOR THERMOMETER FOR 2- DOOR PREP COOLER IN FRONT PREP AREA MUST PROVIDE AND MAINTAIN. | 37. FOOD PROPERLY LABELED; ORIGINAL CONTAINER - Comments: MUST LABEL FOOD STORAGE CONTAINERS WHEN FOOD IS NOT IN ORIGINAL PACKAGE WITH COMMON NAME(SHAKERS) | 39. CONTAMINATION PREVENTED DURING FOOD PREPARATION, STORAGE & DISPLAY - Comments: MUST PROVIDE A SPLASH GAURD AT FRONT HAND SINK NEXT TO PANS ON COUNTER TOP TO PREVENT CONTAMINATION. | 47. FOOD & NON-FOOD CONTACT SURFACES CLEANABLE, PROPERLY DESIGNED, CONSTRUCTED & USED - Comments: MUST REPAIR OR REPLACE WORN CUTTING BOARDS ON TOPSIDE OF COLD LINE TO BE IN GOOD REPAIR. | 49. NON-FOOD/FOOD CONTACT SURFACES CLEAN - Comments: MUST CLEAN SPILLAGE IN LOWER CABINET AT SODA MACHINE IN DINING AREA. | 55. PHYSICAL FACILITIES INSTALLED, MAINTAINED & CLEAN - Comments: MUST PROVIDE A HOOKING SYSTEM TO HANG UP WET MOPS. | 58. ALLERGEN TRAINING AS REQUIRED - Comments: OBSERVED NO FOOD ALLERGEN TRAINING FOR FOOD MANAGERS MUST PROVIDE AND MAINTAIN. | 60. PREVIOUS CORE VIOLATION CORRECTED - Comments: PREVIOUS CORE VIOLATION FROM REPORT #2628354 12/11/25 NOT CORRECTED-#57-2-102.13: EXPIRED FOOD HANDLER CERTIFICATES PROVIDED FOR ALL FOOD HANDLERS. INSTRUCTED TO PROVIDE PROOF OF FOOD HANDLER TRAINING FOR ALL FOOD HANDLERS.(PRIORITY FOUNDATION 7-42-090)(CITATION ISSUED) | 64. MISCELLANEOUS / PUBLIC HEALTH ORDERS - Comments: OBSERVED DEFAULT BEVERAGE ON KIDS MEAL CHOCOLATE MILK AT 140 CALORIES NEEDS TO BE 130 OR LESS CALORIES AND MAINTAIN.",
"latitude": 41.88352649174743,
"longitude": -87.62608219678731,
"sourceUrl": "https://data.cityofchicago.org/Health-Human-Services/Food-Inspections/4ijn-s7e5",
"scrapedAt": "2026-05-25T17:54:47.085Z",
"error": null
},
{
"imageUrl": null,
"title": "NICKY'S",
"url": "https://data.cityofchicago.org/Health-Human-Services/Food-Inspections/4ijn-s7e5",
"id": "2637326",
"inspection_id": "2637326",
"dba_name": "NICKY'S",
"aka_name": "NICKY'S",
"license_": "7813",
"facility_type": "Restaurant",
"risk": "Risk 1 (High)",
"address": "5801 S KEDZIE AVE",
"city": "CHICAGO",
"state": "IL",
"zip": "60629",
"inspection_date": "2026-05-22T00:00:00.000",
"inspection_type": "Short Form Complaint",
"results": "Pass",
"violations": "10. ADEQUATE HANDWASHING SINKS PROPERLY SUPPLIED AND ACCESSIBLE - Comments: OBSERVED NO HANDWASHING SIGNAGE IN CUSTOMER RESTROOM. INSTRUCTED PERSON IN CHARGE HANDWASHING SIGNAGE IS REQUIRED AT ALL HANDSINKS. | 16. FOOD-CONTACT SURFACES: CLEANED & SANITIZED - Comments: OBSERVED RUST ON INTERIOR SIDE OF ICE MACHINE/SCREWS. INSTRUCTED PERSON TO REMOVE AND REPLACE. | 49. NON-FOOD/FOOD CONTACT SURFACES CLEAN - Comments: OBSERVED BUILD UP ON INTERIOR OF 2-DOOR COLD HOLD UNIT IN REAR OF FACILITY. INSTRUCTED PERSON IN CHARGE TO CLEAN AND MAINTAIN.",
"latitude": 41.787976364169765,
"longitude": -87.70325124213517,
"sourceUrl": "https://data.cityofchicago.org/Health-Human-Services/Food-Inspections/4ijn-s7e5",
"scrapedAt": "2026-05-25T17:54:47.151Z",
"error": null
}
]

✨ Why choose this Actor

FeatureWhat it means
🟢 Live dataPulls directly from the source API on every run
🔄 Auto-paginationWalks the dataset 1,000 rows at a time
🎯 Native filtersFilter by the columns the source already indexes
📦 Stable schemaOne row, one record, no nested table reshapes
💾 Multiple formatsCSV, Excel, JSON, XML on the dataset page

📈 How it compares to alternatives

OptionEffortPaginationFiltersRefresh
This actorRun onceBuilt-inBuilt-inPer run
Direct APIWrite SoQL by handDIYDIYDIY
CSV portal exportDownload megabytes every timeNoneLimitedManual
Custom scraperWeeks of engineeringDIYDIYDIY

🚀 How to use

  1. Create a free Apify account (free credits included)
  2. Open the actor page
  3. Set maxItems and any filters you need
  4. Click Run
  5. Download the dataset as CSV, Excel, JSON, or XML

💼 Business use cases

Market intelligence

Track the volume, type, and geography of records over time to surface trends before competitors do.

Compliance and risk

Pull official records for due diligence, vendor screening, insurance underwriting, or KYC workflows.

Lead generation

Filter the feed to surface businesses or properties matching a target profile.

Reporting and BI

Pipe the dataset into BI tools for ongoing public-records dashboards.

🔌 Automating Chicago Food Inspections Scraper

Connect this actor to Make, Zapier, Slack, Airbyte, GitHub Actions, n8n, Pipedream, or Google Drive through the standard Apify integrations to run the scraper on a schedule and push results downstream automatically.

🌟 Beyond business use cases

Research

Academics use this data for urban studies, public-health epidemiology, and policy analysis.

Personal

Curious citizens can audit their own neighborhood or block-level activity.

Non-profit

Civic-tech and accountability organizations track service delivery, equity, and government performance.

Experimentation

Data-science learners get a clean real-world dataset for ML practice.

🤖 Ask an AI assistant about this scraper

Paste the URL of this page into ChatGPT, Claude, Perplexity, or GitHub Copilot and ask: "How would I use this scraper to build X?"

❓ Frequently Asked Questions

🟦 Is this real-time? It pulls the most recent data the source agency has published. Refresh cadence depends on the agency (often nightly or weekly).

🟦 Do I need an API key? No. The source endpoint is public.

🟦 What if a filter returns zero rows? The actor pushes a single {error: ...} record explaining the empty result so your pipelines do not silently fail.

🟦 Can I run this on a schedule? Yes. Configure a schedule on the Apify Console for hourly, daily, or weekly runs.

🟦 Can I get more than 10 records? Upgrade to a paid plan. Free users get a 10-record preview.

🟦 What export formats are supported? CSV, Excel (XLSX), JSON, XML, RSS, and HTML from the dataset page.

🟦 Does this respect rate limits? Yes. The actor uses a single sequential pagination loop.

🟦 Will field names change? Field names are pinned to source API column names. If the source changes column IDs you may need an updated actor build.

🟦 Can I use this commercially? The source data is public-domain government information. Always re-read the source's terms of use for your specific commercial application.

🟦 What about privacy? This actor only returns data the agency has chosen to publish to the open-data portal. Records the agency suppresses are not included.

🔌 Integrate with any app

Make · Zapier · Slack · Airbyte · GitHub Actions · Google Drive · Webhooks · REST API · n8n · Pipedream · Bubble · Retool · Power Automate · Airtable · Notion.

ActorWhat it does
NYC Restaurant InspectionsNYC DOHMH grades and violations
Chicago Food InspectionsChicago Department of Public Health results
LA Business LicensesLA City active business registry
NYC DCWP Business LicensesEvery NYC consumer-protection licensed business
Chicago 311 Service RequestsAll Chicago non-emergency complaints

💡 Pro Tip: browse the complete ParseForge collection.

🆘 Need Help? Open our contact form

⚠️ Disclaimer: independent tool, not affiliated with Chicago Food Inspections or its publishing agency. Only publicly available data is collected.