Pushbuild

Police Incident Logs API – Calls for Service and Crimes

Police calls for service and reported offenses from about 35 US cities and counties in one schema: type, category, time, block address, coordinates, beat and disposition. No names. Refreshed weekly.

$0.80 per 1,000 incidents

Get an API key
POST

Example request

POST /police-incident-logs/run
{
  "jurisdiction": "Seattle",
  "maxItems": 20
}

What it returns

Police calls for service (the dispatch log) and reported offenses from about 35 US cities and counties in one schema: jurisdiction, kind (call or crime), incident number, type, category, occurred and reported times, block address, ZIP, coordinates, beat or district, and disposition.

No names. Only incident fields are read from each source, so names, victim, suspect and arrestee details, race, sex, age and officer identifiers never enter the data. Addresses are as each city publishes them, mostly at block level.

Search by state, city or county, kind, type, category, keyword, beat, ZIP, a point and radius, or date range; or group the matches to count incidents by jurisdiction, type, category, beat or month.

Coverage from January 2025: Seattle, Los Angeles, Chicago, Dallas, Austin, Kansas City, New Orleans, Cincinnati, Oakland, Colorado Springs, Mesa, Honolulu, Richmond, Norfolk, Providence, Cambridge, Everett, Auburn WA, Bloomington IN, Gainesville, Rockford, Johns Creek, and the counties of King, Pierce, Montgomery MD, Prince George's, East Baton Rouge, Marin, Santa Clara, Sonoma, Ramsey and Winnebago. Rebuilt weekly from each government's open data portal.

Charged per incident or group returned.

Request

POST https://api.pushbuild.com/police-incident-logs/run with a JSON body. Send your key in the X-API-Key header.

FieldTypeDescription
stateslist of stringsTwo-letter state codes, e.g. WA, TX.
jurisdictionstringName contains, e.g. Seattle, Montgomery County.
kindstring: , call, crimecall = calls for service / dispatch log; crime = reported offenses. Empty for both.
typestringCall type or offense contains, e.g. burglary, shots fired, theft.
categorystringCategory contains, e.g. Property, Violent, Disorder.
keywordstringWords in the type, category or address.
areastringPolice beat, district, precinct or sector contains.
zipstringZIP code starts with (where the source publishes one).
latitudenumberWith longitude and radius: incidents near a point (sources with coordinates).
longitudenumberLongitude of the point.
radiusMilesnumberSearch radius around the point. Default: 1.
dateFromstringOccurred (or reported) on or after, YYYY-MM-DD.
dateTostringOccurred (or reported) on or before, YYYY-MM-DD.
groupBystring: , jurisdiction, state, type, category, area, month, kindCount matching incidents instead of listing them.
sortstring: newest, oldestOrder of listed incidents. Default: "newest".
maxItemsintegerMaximum items to return (1-500). Default: 100.

Example

curl -X POST https://api.pushbuild.com/police-incident-logs/run \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jurisdiction": "Seattle", "maxItems": 20}'

Response

{"count": 20, "truncated": false, "seconds": 1.4, "items": [ { ... } ]}

Each call returns up to 500 items. Records that fail validation or are not found are flagged in the items and not charged.

Pricing

Pay only for results returned: $0.80 per 1,000 incidents. No charge for errors or empty searches.

Use it from Claude, ChatGPT or Cursor

This API is also an MCP server: https://api.pushbuild.com/mcp/police-incident-logs. Add it to any assistant that supports remote MCP servers, with your key in the X-API-Key header. Same prices. Setup for each app.

Tell us what you need built.

Questions about this API, higher volumes, or a data source you need that we don't cover yet.

hello@pushbuild.com

(617) 299-8887

Tell us about your project

A few questions so we can come back with a written scope. We reply within one business day.

Want this data inside your own app or CRM? API integrations and data sync