UK Police API

Beginner's Pick Security / No Auth Required Beginner HTTPS
Free to Use
64 C
Measured Score 0 50 100 Speed 8/30 Consistency 13/20 Security 20/20 Browser access 15/15 Transparency 8/15 TESTED 2026-08-10

Overview

The UK Police API provides open access to crime data, police force information, and neighborhood policing data across England, Wales, and Northern Ireland. You can retrieve crime statistics by location, list police forces, and find neighborhood teams for any area. It's completely free with no API key required, making it ideal for civic tech projects and data journalism.

Beginner Tip

Use the /crimes-street/{category} endpoint with a lat and lng parameter to get crimes near any UK location — latitude/longitude for UK cities are easy to find on Google Maps.

Measurement Record

What actually happened when we called this API from our own infrastructure. Every value below was recorded by the request, not copied from the provider's documentation.

Request
GET https://data.police.uk/api/crimes-street/all-crime?lat=51.5074&lng=-0.1278&date=2024-01
Result
HTTP 200 · application/json · 2,758,593 bytes · compressed
Response time
363 ms (median of 3) · fastest 315 ms
Transport
TLSv1.3 · TLS_AES_128_GCM_SHA256 · certificate issued by Amazon
Browser CORS
Allowed — Access-Control-Allow-Origin: *
Recorded
2026-08-10

Available Data

The kind of data this API exposes, based on its documentation. We could not call the endpoint to confirm the exact field names.

Response fields: police uk
Use case: Integrate uk police data data into web and mobile applications
UK Police data via REST API

Example Response

Illustrative shape only — we were not able to call this endpoint (it requires credentials or exposes no public sample URL), so the fields below show the kind of data this API returns rather than a recorded response.

JSON Response · Illustrative
{
  "status": "success",
  "data": {
    "result": "Data from UK Police",
    "description": "UK Police data",
    "timestamp": "2025-01-15T10:00:00Z"
  }
}

Field Reference

category Crime category slug, e.g., violent-crime, burglary, vehicle-crime.
location_type Whether the crime occurred at a Force or BTP (British Transport Police) location.
location Approximate street location including latitude, longitude, and street name.
month The month this crime was recorded, in YYYY-MM format.
outcome_status Latest investigation outcome (e.g., "Under investigation", "No suspect identified"), or null if pending.
id Unique identifier for this crime record.

Implementation Example

Calls a real endpoint of this API. Replace any placeholder credentials with your own key.

Request
const url = "https://data.police.uk/api/crimes-street/all-crime?lat=51.5074&lng=-0.1278&date=2024-01";
const response = await fetch(url);
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

How This API Fails

We deliberately sent this API a broken request and recorded exactly what came back on 2026-08-10. Knowing the shape of an error before you hit it makes error handling much easier to write.

HTTP 404 Requesting a path that does not exist text/html

Returned an HTML error page rather than JSON — worth knowing if your client assumes every response can be parsed as JSON.

HTTP 400 Sending an invalid value for "lat" text/html

Returned an HTML error page rather than JSON — worth knowing if your client assumes every response can be parsed as JSON.

Common Errors & Troubleshooting

Generated guidance based on this API's documentation, not observed by us. Treat it as a starting point and check against the provider's own error reference.

400 Bad Request on location queries The lat and lng parameters are required for street-level crime endpoints.
Always include both lat (latitude) and lng (longitude) as query parameters, e.g., ?lat=51.5074&lng=-0.1278.
Empty crimes array Data for very recent months may not yet be published, as there is usually a 2-3 month lag.
Use a date parameter from 2-3 months ago (format: YYYY-MM) to ensure data is available, e.g., &date=2024-01.
503 Service Unavailable The API can be slow during high traffic or data update periods.
Implement retry logic with exponential backoff; the API is generally reliable but may have brief downtime during monthly data releases.

Measured Score Breakdown

Live HTTP request to the API endpoint

Speed 8/30
Consistency 13/20
Security 20/20
Browser access 15/15
Transparency 8/15
Endpoint Response Time 363ms

Fully tested on Aug 10, 2026

Technical Specifications

Auth No Auth
HTTPS REQUIRED
CORS UNKNOWN
Category Security
Difficulty Beginner
Endpoint last called: 2026-08-10

Related Tags

Similar APIs

View All →