What this dashboard is

The UK Crime & Justice Tracker is a free, public interest dashboard showing monthly recorded crime, stop & search and population adjusted crime rates for police forces in England, Wales and Northern Ireland. It is published by UK Politics Decoded and is not an official government service.

Why it exists

Official police data is public, but it is published as large monthly files that are hard for most people to explore. Headline crime claims are often made without context such as population size, reporting lag or how figures were counted. This tracker aims to put the same open data in one place, with the caveats shown next to the numbers, so that readers can check claims for themselves.

How it works

  1. Each month a pipeline pulls data from the data.police.uk API for every police force, querying each force's official boundary polygon so the whole force area is covered.
  2. Crimes and stop & search records are compiled into a dated snapshot, with category breakdowns, per force counts and a de duplicated national total.
  3. Population estimates from the Office for National Statistics are used to calculate rates per 1,000 residents.
  4. Only the resulting JSON files are published to the GitHub data repository.
  5. This dashboard reads those published JSON files directly in your browser and draws the charts and tables.

Reading the dashboard

The i icons next to headings open short plain language explanations of each caveat.

Open data: free to use

Everything the dashboard displays is published as raw JSON in the public GitHub repository UKPoliticsDecoded/police-crime-tracker. You are welcome to download, analyse, republish and build on it, including for journalism, research, teaching and your own tools. No account or API key is needed.

The underlying police data is published by data.police.uk under the Open Government Licence v3.0, and population figures come from the ONS. Please check the repository for the licence that applies to the compiled files and code, and keep the attribution to the original sources.

Data file layout

Files sit at the root of the repository and in one folder per month (YYYY-MM).

FileContents
index.jsonList of all published months and the latest month.
history.jsonCompact month by month time series for national and per force headline stats.
YYYY-MM/summary.jsonPer force counts, category breakdowns, population, rate per 1,000 residents, and the de-duplicated national rollup.
YYYY-MM/manifest.jsonRun metadata: successes, failures and skipped forces.
YYYY-MM/crimes/<force>.jsonIndividual crime records for a force.
YYYY-MM/stop_and_search/<force>.jsonStop & search records for a force.

Example: using the data

Fetch the list of months, then the latest summary:

const base = "https://raw.githubusercontent.com/UKPoliticsDecoded/police-crime-tracker/main/";
const { latest } = await (await fetch(base + "index.json")).json();
const summary = await (await fetch(`${base}${latest}/summary.json`)).json();
console.log(latest, summary);

Or with Python:

import requests
base = "https://raw.githubusercontent.com/UKPoliticsDecoded/police-crime-tracker/main/"
latest = requests.get(base + "index.json").json()["latest"]
summary = requests.get(f"{base}{latest}/summary.json").json()
print(latest, list(summary))

For heavy use, please clone the repository instead of fetching files repeatedly, to be kind to GitHub's servers.

Caveats

Citing and reuse

If you use figures or charts, please name the month, link to this dashboard or the repository, and credit data.police.uk and the ONS as original sources. Mention the relevant caveats where they affect your conclusion.

Feedback and corrections

Found an error or have a suggestion? Please open an issue on the GitHub repository.