SpotCrime Scraper - US Crime Map Data
Pricing
from $3.00 / 1,000 results
SpotCrime Scraper - US Crime Map Data
Scrape SpotCrime's crowdsourced US crime map. Search recent crime incidents by city/state or GPS coordinates, browse covered cities, or pull area crime stats. Get incident type, date, address, coordinates. No login, no cookies, no API key required.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Crawler Bros
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Scrape SpotCrime — a crowdsourced, aggregated US crime map that pulls incident reports from local police agencies and news sources. Search recent crime incidents by city & state or by GPS coordinates and radius, browse the list of cities SpotCrime covers in any state, or pull aggregate crime statistics (totals, breakdown by type, shooting counts) for a city. No login, no cookies, no API key required.
What this actor does
- 4 modes: crime incidents by city, crime incidents by GPS coordinates, browse covered cities in a state, and area crime statistics
- All 50 US states + DC, Puerto Rico, and the US Virgin Islands available as a one-click dropdown
- 9 incident types — Arrest, Arson, Assault, Burglary, Other, Robbery, Shooting, Theft, Vandalism — filterable, multi-select
- Date range filtering on the incidents SpotCrime currently has published
- Sort by newest, oldest, or nearest to the search center first
- Optional incident descriptions — follow through to each incident's detail page for the police-report description text and a link to the original source agency
- Automatic wide-area coverage — set a bigger radius or
maxItemsand the actor automatically searches multiple sub-areas to gather more incidents than a single map view shows - Empty fields are omitted — you only ever see fields that were actually found for a record
Output per record
Crime incidents (crimesByCity / crimesByCoordinates)
crimeId— SpotCrime's internal incident IDtype— one of the 9 incident typesdate— original incident timestamp as published (e.g.07/14/2026 11:55 PM)dateIso— the same timestamp normalized to ISO 8601address— block-level address (SpotCrime publishes an approximate block, not exact addresses, for privacy)latitude,longitude— approximate incident coordinatesdistanceMiles— great-circle distance from the search center (city centroid orlatitude/longitudeinput) to the incidentdescription— police-report description text (only withincludeDescription: true)fullAddress,city,state— full address string and parsed city/state, from the incident's detail page (only withincludeDescription: true)sourceAgencyUrl— link to the original reporting police department or news source (only withincludeDescription: true)searchState,searchStateName,searchCity— the city/state you searched (mode=crimesByCity)searchLatitude,searchLongitude,searchRadius— the coordinates/radius actually used for the searchsourceUrl— permalink to the incident's SpotCrime detail pagerecordType: "crime",scrapedAt
Covered cities (browseCities)
city,state,stateNamesourceUrl— SpotCrime page for that cityrecordType: "city",scrapedAt
Area statistics (areaStats)
totalCrimes— total incidents in SpotCrime's current reporting window for the areacrimeTypeBreakdown[]—{type, count, percentage}for each of the 9 incident typestopCrimeType,topCrimeTypeCount— the single most common incident type and its counttopViolentCrimeType,topViolentCrimeTypeSharePct— most common violent-crime type and its share of violent crimetopPropertyCrimeType,topPropertyCrimeTypeSharePct— most common property-crime type and its share of property crimetotalShootings,avgMonthlyShootingsstatsPeriod— the reporting window the statistics cover (e.g. "three months")city,state,stateNamesourceUrl— SpotCrime analytics page for that cityrecordType: "areaStats",scrapedAt
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | string (select) | crimesByCity | crimesByCity, crimesByCoordinates, browseCities, or areaStats |
state | string (select) | TX | US state / DC / PR / VI (mode=crimesByCity, browseCities, areaStats) |
city | string | Austin | City name as listed on SpotCrime (mode=crimesByCity, areaStats) |
latitude | number | 30.2687 | Center latitude (mode=crimesByCoordinates) |
longitude | number | -97.7452 | Center longitude (mode=crimesByCoordinates) |
radius | number | 3 | Search radius around the center point, 0.1-25 (mode=crimesByCity, crimesByCoordinates) |
crimeTypes | array (multi-select) | – (all) | Only return these incident types |
dateFrom | string | – | Only incidents on/after this date, YYYY-MM-DD |
dateTo | string | – | Only incidents on/before this date, YYYY-MM-DD |
sortBy | string (select) | newest | newest, oldest, or distance (nearest to search center) first |
includeDescription | boolean | false | Fetch each incident's description + source link (slower) |
maxItems | integer | 30 | Hard cap on returned records (1-500) |
proxyConfiguration | object | off | Optional Apify proxy (free AUTO datacenter group) |
Example: recent crime in Austin, TX
{"mode": "crimesByCity","state": "TX","city": "Austin","maxItems": 30}
Example: shootings and robberies near downtown Chicago
{"mode": "crimesByCoordinates","latitude": 41.8781,"longitude": -87.6298,"radius": 5,"crimeTypes": ["Shooting", "Robbery"],"maxItems": 50}
Example: incidents in Miami with full descriptions, last 7 days
{"mode": "crimesByCity","state": "FL","city": "Miami","dateFrom": "2026-07-08","dateTo": "2026-07-15","includeDescription": true,"maxItems": 40}
Example: browse every city SpotCrime covers in California
{"mode": "browseCities","state": "CA","maxItems": 500}
Example: crime statistics for Denver, CO
{"mode": "areaStats","state": "CO","city": "Denver"}
Use cases
- Neighborhood safety research — check recent crime activity before moving to or visiting an area
- Real estate & relocation analysis — layer crime statistics onto property or neighborhood evaluations
- Local journalism & public-safety reporting — track incident trends and recent activity in a coverage area
- Community & neighborhood-watch monitoring — pull the latest reports for a specific area on a schedule
- Academic & public-policy research — aggregate crime-type breakdowns and trend data across cities
Limitations
- SpotCrime's public feed only carries recent incidents (typically the last few weeks). It is not a historical crime archive —
dateFrom/dateTovalues far in the past will simply return no results. - Addresses are block-level, not exact. SpotCrime publishes an approximate block (e.g. "100 BLOCK OF 9TH ST") rather than a precise street address, consistent with how most police departments release incident data publicly.
- Coverage is US-only (50 states, DC, Puerto Rico, and the US Virgin Islands) at present.
- A single search area returns a bounded batch of incidents per pass. For very dense cities or a very large
maxItems, the actor automatically searches multiple sub-areas within yourradiusto gather more incidents — but extremely broad requests (huge radius + very highmaxItems) may still return fewer thanmaxItemsif that's all SpotCrime's public feed currently has published for the area. includeDescriptionis off by default because it requires one extra request per incident. Turn it on when you need the police-report description text or the original source-agency link.
FAQ
What data source does this actor use? It reads SpotCrime's publicly available city, map, and analytics pages — the same data shown on spotcrime.com's interactive crime map. No account or API key is needed.
Is this affiliated with SpotCrime? No. This is an independent, third-party actor that reads publicly accessible pages.
Why do some incidents have no description?
Descriptions are only fetched when includeDescription: true is set, and even then some incidents don't have a published description on their source page — those fields are simply omitted rather than shown as empty.
How current is the data?
Incidents typically appear within a day of being reported by the source police agency or news outlet. areaStats statistics summarize a recent rolling window (shown in the statsPeriod field, typically the last three months).
Can I search a city and find its exact SpotCrime spelling first?
Yes — run mode: "browseCities" with your target state to get the exact city names and URLs SpotCrime uses, then feed one into mode: "crimesByCity".
Does this actor need a proxy or login? No — SpotCrime's public pages are not blocked from Apify's datacenter IPs, so this actor runs entirely on Apify's free plan with no proxy and no credentials. An optional free AUTO proxy is available if you run into rate limiting on very large runs.
What does crimeId uniquely identify?
It's SpotCrime's own internal incident identifier, stable across requests — useful for deduplicating incidents across multiple runs.