City Open Data (Socrata) - Any Dataset from Any Portal
Pricing
from $1.00 / 1,000 results
City Open Data (Socrata) - Any Dataset from Any Portal
Read any Socrata open-data dataset - New York 311 complaints, Chicago crimes, SF permits and hundreds more - as flat rows. Free public API, no key on most portals.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
alaudin burki
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Security
Limited permissionsShare
City Open Data (Socrata) — Any Dataset from Any Portal
Read any Socrata open-data dataset — New York 311 complaints, Chicago crimes, SF permits, and hundreds more — as flat rows. Free public API, no key on most portals.
One Actor for every city, because the portal and dataset are both template values rather than a hardcoded URL.
What you get
createdAt, agency, complaintType, descriptor, status, communityBoard, policePrecinct,
locationType, latitude, longitude, address, borough, closedAt, id.
Fields that a given dataset does not have come back as null, so the same schema works across portals.
Sample output
{ "createdAt": "2026-10-17T00:00:00.000", "complaintType": "Noise - Residential","agency": "New York City Police Department", "borough": "MANHATTAN","latitude": "40.7128", "longitude": "-74.0060" }
Limitations
- Socrata is a platform, not a schema. Column names differ per dataset, so only the ~13 common
ones are mapped; use
whereto filter and the raw API for anything else. - There is no universal id. Each dataset names its own key, so the Actor tries the common ones
(
unique_key,id,case_number,objectid,permit_number) and falls back to a composite of the first few values. On an unusual dataset the id is stable but not meaningful. - Some portals need an app token for heavy use; without one you share an anonymous quota and large sweeps may be throttled.
$limitcaps a single request at 1,000 rows; paging handles the rest.
Pricing
Pay per result.
Fields
| Field | Type | What it holds |
|---|---|---|
createdAt | string | ISO 8601 timestamp of when this record was created upstream. |
agency | string | Agency the record belongs to. |
complaintType | string | Type of complaint the request was filed as, in the city's own vocabulary. |
descriptor | string | More specific detail within the complaint type. Often empty, so the complaint type is the reliable field. |
status | string | Outcome recorded for this row. |
communityBoard | string | Community board the record falls in, as the city numbers them. A named administrative area, and its boundaries change. |
policePrecinct | string | Police precinct covering the location, as the city numbers them. |
locationType | string | What kind of location this is, as the source classifies it. |
latitude | number | Latitude in decimal degrees (WGS 84). A STRING from some sources and a number from others — check the README per Actor. |
longitude | number | Longitude in decimal degrees (WGS 84). A STRING from some sources and a number from others — check the README per Actor. |
address | string | Street address as published. |
borough | string | Borough name where the source returns a name, or its code where it returns one. |
closedAt | string | When the item was closed. Absent while still open, which is not the same as an unknown time. |