UK Police Data API
Free UK Police API with no key: street-level crime data, police forces, neighbourhood teams and stop-and-search records by location and month. Tested example.
Endpoint tested and returned HTTP 200 on 2026-08-19
What is the UK Police Data API?
The UK Police Data API is a free, key-free API providing street-level crime records, police force and neighbourhood information, and stop-and-search data across England, Wales and Northern Ireland.
This is open government data at unusually fine granularity: crimes are published monthly at street level with category, approximate location and outcome status, going back over a decade.
One thing to understand before building on it: locations are deliberately anonymised to a nearby 'snap point' rather than an exact address, to protect victim privacy. Points therefore cluster on road centroids, which is expected behaviour rather than a data quality problem.
Quick facts
- Base URL
https://data.police.uk/api- Authentication
- No API key required.
- Rate limit
- 15 requests per second, with larger queries throttled.
- Pricing
- Free under the Open Government Licence.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the UK Police Data API
Every request below was executed against the live API on 2026-08-19, and the response shown is the real body it returned — not an illustration.
1. List all UK police forces
GET https://data.police.uk/api/forces
curl 'https://data.police.uk/api/forces'const res = await fetch("https://data.police.uk/api/forces");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://data.police.uk/api/forces", timeout=20)
res.raise_for_status()
print(res.json())[
{
"id": "avon-and-somerset",
"name": "Avon and Somerset Constabulary"
},
{
"id": "bedfordshire",
"name": "Bedfordshire Police"
},
{
"id": "cambridgeshire",
"name": "Cambridgeshire Constabulary"
},
{
"id": "cheshire",
"name": "Cheshire Constabulary"
},
{
"id": "city-of-london",
"name": "City of London Police"
},
{
"id": "cleveland",
"name": "Cleveland Police"
},
{
"id": "cumbria",
"name": "Cumbria Constabulary"
},
{
"id": "derbyshire",
"name": "Derbyshire Constabulary"
},
{
"id": "devon-and-cornwall",
"name": "Devon & Cornwall Police"
},
{
"id": "dorset",
"name": "Dorset Police"
},
{
"id": "durham",
"name": "Durham Constabulary"
},
{
"id": "essex",
"name": "Essex Police"
},
{
"id": "gloucestershire",
"name": "Gloucestershire Constabulary"
},
{
"id": "greater-manchester",
"name": "Greater Manchester Police"
},
{
"id": "gwent",
"name": "Gwent Police"
},
{
"id": "hampshire",
"name": "Hampshire Constabulary"
},
{
"id": "dyfed-powys",
"name": "Dyfed-Powys Police"
},
{
"id": "hertfordshire",
"name": "Hertfordshire Constabulary"
},
{
"id": "humberside",
"name": "Humberside Police"
},
{
"id": "kent",
"name": "Kent Police"
},
{
"id": "lancashire",
"name": "Lancashire Constabulary"
},
{
"id": "leicestershire",
"name": "Leicestershire Police"
},
{
"id": "lincolnshire",
"name": "Lincolnshire Police"
},
{
"idParameters
| Parameter | Type | Required | Description |
|---|---|---|---|
lat / lng | float | Optional | Coordinates for street-level crime queries. 51.5074 |
date | string | Optional | Month as YYYY-MM. Defaults to the latest available. 2026-01 |
poly | string | Optional | Lat/lng pairs defining a custom area to query. 52.2,0.1:52.3,0.2 |
<force> | path | Optional | Force id from the forces list. avon-and-somerset |
Response fields
idstring- Force identifier used in other endpoints.
namestring- Full force name.
categorystring- On crime endpoints, the crime category such as burglary or violent-crime.
locationobject- Anonymised latitude/longitude plus the nearest street.
outcome_statusobject- Current case outcome and the date it was recorded, or null.
What you can build with the UK Police Data API
- Map crime rates by neighbourhood for a property or safety site
- Analyse crime trends over time in a specific area
- Show local policing team contact details by location
- Support research and journalism on stop-and-search patterns
Common errors and how to fix them
404
No data for that force, date or area.
Fix: Data lags by roughly two months; check /crimes-street-dates for available months.
503
Query too large.
Fix: Reduce the polygon area or the date range — large custom areas are rejected rather than truncated.
Points all on road centres
Locations are anonymised by design.
Fix: Do not present them as exact addresses; aggregate to area level for display.
UK Police Data API — frequently asked questions
Is the UK Police API free?
Yes, no API key is needed. The data is published under the Open Government Licence and requires attribution.
How accurate are the crime locations?
They are deliberately imprecise. Each crime is snapped to a nearby anonymous point to protect victim privacy, so points cluster on street centroids and must not be treated as exact addresses.
How current is the data?
It typically lags by about two months. Query /crimes-street-dates to see exactly which months are available before requesting data.
Does it cover the whole UK?
England, Wales and Northern Ireland. Police Scotland publishes separately and is not included in this API.
Tools that pair with this API
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
CSV to JSON Converter
Convert CSV to a JSON array of objects online. Header-row detection, comma/semicolon/tab delimiters and pretty-printed output — 100% in your browser.
UK Police Data is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-19; always check the official documentation before relying on this API in production, as terms and limits can change.