311 Complaints by District: Pain-Point & Spike Tracker avatar

311 Complaints by District: Pain-Point & Spike Tracker

Pricing

from $3.00 / 1,000 district issue rows

Go to Apify Store
311 Complaints by District: Pain-Point & Spike Tracker

311 Complaints by District: Pain-Point & Spike Tracker

What residents complain about in each council district, ward or supervisor district, and what is spiking. Official 311 open data for NYC, San Francisco, Chicago or any Socrata city. Counts, change vs prior period, city comparison.

Pricing

from $3.00 / 1,000 district issue rows

Rating

0.0

(0)

Developer

Clearfeed Labs

Clearfeed Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 minutes ago

Last modified

Share

311 Complaints by District: Pain-Point & Spike Tracker

District Pain-Point Tracker answers "what are people in this district actually upset about, and what's getting worse?" It reads official 311 service-request data from city open-data portals and returns, for every council district / ward / supervisor district, the top issues, their change vs. the previous period, how each district compares with the city average, and a plain signal: spiking, new-or-emerging, steady, easing.

Built for council members and campaign staff, constituent-services teams, local journalists, community boards and advocacy groups, civic-tech and urban researchers, local businesses (pest control, towing, contractors) looking for demand by area.

  • Cities built in: New York City (51 council districts), San Francisco (11 supervisor districts), Chicago (50 wards), plus any Socrata 311 dataset (custom mode).
  • Filter by district and issue words (noise, rodent, pothole, graffiti, heat...).
  • Current window vs. the same-length prior window, share of the district's requests, and ratio vs. the city average.
  • Add-on (off by default): week-by-week counts per row.
  • Aggregates only: no names, addresses or descriptions of individual requests.

No login, no API key, no proxies: documented public Socrata APIs, at most one request per second per the portals' crawl-delay, with a robots.txt check before each run.

Why this one

District Pain-Point TrackerTypical 311 scraper
OutputRanked issues per district with trend and city comparisonRaw request rows you have to aggregate
Spike detectionspiking / new-or-emerging signalsNone
Cost for a whole city~500 aggregate rowsHundreds of thousands of raw rows
PrivacyAggregates onlyOften exports addresses and free text
Other citiesAny Socrata 311 dataset, robots-checkedUsually one city

Pricing (pay per event)

EventPriceWhen
District issue row$0.003Each district + issue row returned
Weekly trend add-on+$0.001 per rowOnly if addWeeklyTrend is on
Actor start$0.00005Apify's standard start event

Billing examples (no change-only mode; each run bills its rows): first run, 1 city with 50 districts × top 3 issues = 150 rows = $0.45 (+$0.15 with weekly trend); re-running the next week bills its rows again ($0.45); a filter that matches no district-issue rows = start fee only.

How that compares: raw 311 scrapers on the Store cost ~$1–$5 per 1,000 raw requests, and a busy city produces 250,000+ requests a month, so summarising a month yourself can cost $250 or more before analysis. Here a full NYC month (51 districts × top 10 issues) is about $1.50. Set Max charge per run to cap any run.

Input examples

What's spiking in NYC this month:

{ "city": "nyc", "sortBy": "spikes", "topIssuesPerDistrict": 10 }

Rodent and noise complaints in two Chicago wards, weekly:

{ "city": "chicago", "districts": ["1", "27"], "issueContains": ["rodent", "rat", "noise"], "windowDays": 28, "addWeeklyTrend": true }

Custom city:

{ "city": "custom", "customDomain": "data.example.gov", "customDatasetId": "abcd-1234", "customDistrictField": "council_district", "customIssueField": "request_type", "customDateField": "created_date" }

Output (one row)

city, districtType, district, rank, issue, count, priorCount, changePct, signal, shareOfDistrictPct, vsCityAverage (1.0 = average district), districtTotal, windowStart, windowEnd, priorWindowStart, source, plus weeklyTrend[] with the add-on.

Notes

  • Windows end at midnight UTC today; the last few days can still be filling in, and the last week in weeklyTrend may be partial.
  • 311 counts measure reports, not problems: they reflect who reports, how easy reporting is, and campaigns or outreach, as well as real conditions.
  • Chicago's portal is slower; runs there can take a minute or two.
  • NYC Open Data (311 Service Requests, erm2-nwe9), DataSF (311 Cases, vw6y-z8j6), Chicago Data Portal (311 Service Requests, v6vf-nfxy), and any custom Socrata domain you choose: public data under each city's open-data terms, read through the documented SODA API. robots.txt is checked every run and the run stops, without charge, if the API path is disallowed.
  • Not affiliated with or endorsed by any city.

Disclaimer

Data is provided as is from city systems, which can be delayed, recoded or corrected. This is not legal, political or professional advice, and counts shouldn't be presented as verified conditions without checking the linked source. Don't use the output to target or harass individuals.

Support

Found a problem or want another city built in? Open an issue on this Actor's Issues tab. More Clearfeed Labs data feeds: clearfeedlabs.com.

Geography, unassigned requests and small counts

  • geographyType says what a district is: council-district (NYC), supervisor-district (SF), ward (Chicago) or custom-district-field. These aren't interchangeable across cities.
  • unassignedRequestsInWindow counts requests in the window with no usable district (blank, 0 or "unspecified"), across all issue types. They're excluded from every district row.
  • lowCountCaution: true marks rows with fewer than 10 requests, or a prior count under 5, where changePct swings wildly on a few requests. spiking already requires at least 10 more requests than the prior period.
  • Complaint volume reflects who reports, not necessarily how common a problem is.