TL;DR
The UK Police Data API provides access to official crime data from all 43 territorial police forces in England, Wales, and Northern Ireland. Query street-level crime by latitude/longitude, get crime outcomes, search stop-and-search records, and find neighborhood policing teams. Data is published monthly by the Home Office. No API key required.
Quick start: https://data.police.uk/api/crimes-street/all-crime?lat=52.629729&lng=-1.138592
No API key needed — open UK government data!
How to Use This API
1. Street-Level Crime by Location
Get all crimes near a specific latitude/longitude (Leicester city center):
https://data.police.uk/api/crimes-street/all-crime?lat=52.629729&lng=-1.138592
2. Crime by Location and Date
https://data.police.uk/api/crimes-street/all-crime?lat=51.5074&lng=-0.1278&date=2024-01
3. List Police Forces
https://data.police.uk/api/forces
4. JavaScript — Crimes Near You
navigator.geolocation.getCurrentPosition(pos => {
const {latitude, longitude} = pos.coords;
fetch(`https://data.police.uk/api/crimes-street/all-crime?lat=${latitude}&lng=${longitude}`)
.then(r => r.json())
.then(crimes => {
const categories = {};
crimes.forEach(c => {
categories[c.category] = (categories[c.category] || 0) + 1;
});
console.log('Crime breakdown:', categories);
});
});
5. Python — Stop and Search Data
import requests
stops = requests.get(
'https://data.police.uk/api/stops-street',
params={'lat': 51.5074, 'lng': -0.1278, 'date': '2024-01'}
).json()
for stop in stops[:5]:
print(f"{stop.get('age_range', 'N/A')} {stop.get('gender', 'N/A')}")
print(f" Reason: {stop.get('object_of_search', 'N/A')}")
print(f" Outcome: {stop.get('outcome', 'N/A')}")
https://data.police.uk/api/crimes-street/all-crime?lat=52.629729&lng=-1.138592
Frequently Asked Questions
- What crime categories are available?
- Categories include anti-social behaviour, burglary, robbery, vehicle crime, violent crime, shoplifting, criminal damage, drugs, theft, and public order. A full list is at
/api/crime-categories. - How recent is the data?
- Crime data is published monthly with approximately a 2-month delay (e.g., January data is published in March). The
dateparameter uses YYYY-MM format. - Can I search by postcode instead of coordinates?
- The API requires lat/lng coordinates. Use a geocoding service like Nominatim to convert postcodes to coordinates before querying.
- What is the police force information endpoint?
/api/forcesreturns all territorial police forces with IDs, names, and contact info. Use/api/forces/{id}for detailed force data including neighborhood boundaries.- Does it cover Scotland?
- No — Police Scotland data is managed separately. The API covers England, Wales, and Northern Ireland (43 forces total).
- What about outcome data?
- Use
/api/outcomes-at-locationor/api/outcomes-for-crime/{id}to get crime outcome data including status (under investigation, charged, unable to prosecute, etc.).
API Details
- API URL
https://data.police.uk/api/- Documentation
- data.police.uk/docs/
- Category
- Security
- Authentication
- Not Required
- Geographic Coverage
- England, Wales, and Northern Ireland
What You Can Build
- Neighborhood safety map showing recent crime heatmaps by category
- Property search tool with local crime statistics overlay
- Personal safety app alerting when entering high-crime areas
- Police transparency dashboard analyzing stop-and-search demographics
- Crime trend analysis tool comparing month-over-month statistics