UK Police Data API
UK Police Data API
Public JSON endpoints for street-level crime, outcomes, stop and search, forces, neighbourhoods and police locations across the participating UK forces. Crime records include category, month, approximate coordinates and street, persistent ID and latest outcome; no key is needed.
Required Attribution:
Required when no specific provider statement is supplied: "Contains public sector information licensed under the Open Government Licence v3.0."
Coverage
The checked crime dataset covers England, Wales and Northern Ireland from September 2023 through August 2026 and is updated monthly; Scotland is represented only by British Transport Police data. Point crime queries cover a one-mile radius, while custom polygons returning more than 10,000 crimes fail with HTTP 503.
Verdict
A monthly geospatial signal for changes in reported crime, police outcomes and stop-and-search activity around sites or operating areas. Locations are deliberately approximate, month-level rather than incident-time records, and the API ID is not a police identifier. Force submissions can be late or missing and the provider publishes known issues and later refreshes. Split dense polygons because results above 10,000 crimes return HTTP 503, and stay below the stated request rate.
Get the free weekly email
Free weekly email of newly verified free data. Unsubscribe by emailing us.
By entering your email and clicking Subscribe, you agree to receive the Signal Lab weekly email from Quantum Data Technologies Ltd., 3200-650 West Georgia Street, Vancouver, BC V6B 4P7, Canada (signal-lab@qdt.ai). You can unsubscribe at any time: reply "unsubscribe" to any email or write to signal-lab@qdt.ai. See our Privacy Policy.
Use in your agent
Load UK street-level crime into pandas and Parquet. Checked against the provider's documentation on Nov 1, 2026.
Access
- No account or key. The API returns JSON over public GET and POST endpoints.
- The API limit is 15 requests per second on average with a burst of 30.
Request
curl 'https://data.police.uk/api/crimes-street/all-crime?lat=52.629729&lng=-1.131592&date=2026-08'Format
JSON array of crimes with category, persistent and API IDs, month, location type, approximate coordinates and street, context and latest outcome status.
Load into pandas and Parquet
Needs Python 3 with requests, pandas and pyarrow.
"""UK Police street-level crimes near central Leicester -> pandas -> Parquet. No key."""
import requests
import pandas as pd
URL = "https://data.police.uk/api/crimes-street/all-crime"
PARAMS = {"lat": 52.629729, "lng": -1.131592, "date": "2026-08"}
r = requests.get(URL, params=PARAMS, timeout=60)
r.raise_for_status()
df = pd.json_normalize(r.json(), sep="_")
df["month"] = pd.to_datetime(df["month"], format="%Y-%m")
df.to_parquet("uk_police_leicester_2026_08.parquet", index=False)
print(len(df), "crimes", df["category"].nunique(), "categories",
df["month"].min().strftime("%Y-%m"))Run by us on 2026-11-01 (python 3.13.5 | pandas 3.1.0 | pyarrow 26.0.0 | requests 2.34.2). Result: 1772 crimes 14 categories 2026-08
Limits
- Rate limit: 15 requests per second on average with a burst of 30.
- Point street-crime requests cover a one-mile radius.
- A custom polygon containing more than 10,000 crimes returns HTTP 503.
Quirks
- Street and coordinate values are approximate and are not exact incident locations.
- month has month precision; the day used by the last-updated endpoint is irrelevant.
- The id field belongs to the API and is not a police identifier; persistent_id is the stable crime identifier when populated.
- Coverage varies by force and month, so check the availability endpoint and changelog before comparing regions.
Terms and attribution
- The crime data is offered under the Open Government Licence v3.0.
- Reuse requires source acknowledgement; the licence excludes items such as personal data and third-party rights.
Sources
- https://data.police.uk/docs/authentication/: “The Police API no longer requires authentication.”
- https://data.police.uk/docs/api-call-limits/: “15 requests per second with a burst of 30”
- https://data.police.uk/docs/method/crime-last-updated/: “Crime data in the API is updated once a month.”
- https://data.police.uk/docs/method/crime-street/: “If a custom area contains more than 10,000 crimes, the API will return a 503 status code.”
Information and education only. Not financial, investment, legal or tax advice. Listings can be inaccurate, incomplete or out of date and are provided "as is". Free tiers, limits and licenses belong to each provider and can change, so check the provider's own terms before you rely on them. Terms & Disclaimer