Chicago 311 Complaints Scraper | Service Request Data
Pricing
from $19.00 / 1,000 results
Chicago 311 Complaints Scraper | Service Request Data
Pull Chicago 311 service requests with request type, status, address, ward, created and closed dates, and department. Filter by type or ward. Built for journalists, civic researchers, and analysts tracking city services and neighborhood issues in Chicago.
Pricing
from $19.00 / 1,000 results
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share

☎️ Chicago 311 Service Request Scraper
🚀 Pull every Chicago 311 service request - potholes, graffiti, rodents, abandoned vehicles, tree trims - with status, ward, and location.
🕒 Last updated: 2026-05-25 · 📊 32 fields per record · 5,000,000+ service requests · all 50 Chicago wards
The Chicago 311 Service Request Scraper pulls every non-emergency complaint and service request filed with the City of Chicago from the Chicago Data Portal. Each record carries the request type, status, owning department, geocoded location, and the ward, community area, and police beat it falls in.
| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Journalists and civic-tech researchers | Public-records reporting, accountability dashboards |
| Real-estate and insurance analysts | Neighborhood risk modeling, due diligence |
| Marketers and lead-gen teams | Business prospecting, market sizing |
| Data engineers and BI teams | ETL pipelines, automated alerting |
| Academics and urban planners | Policy research, public-health analysis |
📋 What the Chicago 311 Service Requests 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
| Field | Type | Required | Description |
|---|---|---|---|
| maxItems | integer | No | How many records to pull. Free plan caps at 10. |
| Filters | string | No | Optional 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
| Field | Description |
|---|---|
imageUrl | Image URL (always null for tabular records) |
title | Primary record title (business name or activity) |
url | Link back to the open data portal page |
id | Stable identifier for this record |
sr_number | Source field sr_number |
sr_type | Source field sr_type |
sr_short_code | Source field sr_short_code |
created_department | Source field created_department |
owner_department | Source field owner_department |
status | Source field status |
origin | Source field origin |
created_date | Source field created_date |
last_modified_date | Source field last_modified_date |
closed_date | Source field closed_date |
street_address | Source field street_address |
city | Source field city |
state | Source field state |
zip_code | Source field zip_code |
street_number | Source field street_number |
street_direction | Source field street_direction |
street_name | Source field street_name |
street_type | Source field street_type |
duplicate | Source field duplicate |
legacy_record | Source field legacy_record |
parent_sr_number | Source field parent_sr_number |
community_area | Source field community_area |
ward | Source field ward |
electrical_district | Source field electrical_district |
police_sector | Source field police_sector |
police_district | Source field police_district |
police_beat | Source field police_beat |
latitude | Source field latitude |
longitude | Source field longitude |
sourceUrl | Open data portal URL |
scrapedAt | ISO timestamp when the row was collected |
error | Error message (null on success) - always last |
Sample records
[{"imageUrl": null,"title": "Garbage Cart Maintenance","url": "https://data.cityofchicago.org/Service-Requests/311-Service-Requests/v6vf-nfxy","id": "SR26-00978398","sr_number": "SR26-00978398","sr_type": "Garbage Cart Maintenance","sr_short_code": "SIE","created_department": null,"owner_department": "Streets and Sanitation","status": "Open","origin": "Internet","created_date": "2026-05-25T11:14:56.000","last_modified_date": "2026-05-25T11:15:07.000","closed_date": null,"street_address": "7558 S CLYDE AVE","city": "Chicago","state": "Illinois","zip_code": "60649","street_number": "7558","street_direction": "S","street_name": "CLYDE","street_type": "AVE","duplicate": false,"legacy_record": false,"parent_sr_number": null,"community_area": "43","ward": "8","electrical_district": "12","police_sector": "1","police_district": "04","police_beat": "0414","latitude": 41.75722800094,"longitude": -87.573964500002,"sourceUrl": "https://data.cityofchicago.org/Service-Requests/311-Service-Requests/v6vf-nfxy","scrapedAt": "2026-05-25T17:54:47.148Z","error": null},{"imageUrl": null,"title": "311 INFORMATION ONLY CALL","url": "https://data.cityofchicago.org/Service-Requests/311-Service-Requests/v6vf-nfxy","id": "SR26-00978395","sr_number": "SR26-00978395","sr_type": "311 INFORMATION ONLY CALL","sr_short_code": "311IOC","created_department": "311 City Services","owner_department": "311 City Services","status": "Completed","origin": "Phone Call","created_date": "2026-05-25T11:14:42.000","last_modified_date": "2026-05-25T11:14:42.000","closed_date": "2026-05-25T11:14:42.000","street_address": "2111 W Lexington ST","city": "Chicago","state": "Illinois","zip_code": "60612","street_number": "2111","street_direction": "W","street_name": "Lexington","street_type": "ST","duplicate": false,"legacy_record": false,"parent_sr_number": null,"community_area": null,"ward": null,"electrical_district": null,"police_sector": null,"police_district": null,"police_beat": null,"latitude": null,"longitude": null,"sourceUrl": "https://data.cityofchicago.org/Service-Requests/311-Service-Requests/v6vf-nfxy","scrapedAt": "2026-05-25T17:54:47.234Z","error": null}]
✨ Why choose this Actor
| Feature | What it means |
|---|---|
| 🟢 Live data | Pulls directly from the source API on every run |
| 🔄 Auto-pagination | Walks the dataset 1,000 rows at a time |
| 🎯 Native filters | Filter by the columns the source already indexes |
| 📦 Stable schema | One row, one record, no nested table reshapes |
| 💾 Multiple formats | CSV, Excel, JSON, XML on the dataset page |
📈 How it compares to alternatives
| Option | Effort | Pagination | Filters | Refresh |
|---|---|---|---|---|
| This actor | Run once | Built-in | Built-in | Per run |
| Direct API | Write SoQL by hand | DIY | DIY | DIY |
| CSV portal export | Download megabytes every time | None | Limited | Manual |
| Custom scraper | Weeks of engineering | DIY | DIY | DIY |
🚀 How to use
- Create a free Apify account (free credits included)
- Open the actor page
- Set
maxItemsand any filters you need - Click Run
- 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 311 Service Requests 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.
🔗 Recommended Actors
| Actor | What it does |
|---|---|
| NYC Restaurant Inspections | NYC DOHMH grades and violations |
| Chicago Food Inspections | Chicago Department of Public Health results |
| LA Business Licenses | LA City active business registry |
| NYC DCWP Business Licenses | Every NYC consumer-protection licensed business |
| Chicago 311 Service Requests | All Chicago non-emergency complaints |
💡 Pro Tip: browse the complete ParseForge collection.
🆘 Need Help? Open our contact form
⚠️ Disclaimer: independent tool, not affiliated with Chicago 311 Service Requests or its publishing agency. Only publicly available data is collected.