Free use without a key

The two district endpoints answer without a key, for people, scripts, and AI assistants. Each IP address (each /64 network for IPv6) may make 5 calls a minute and 100 a day, within a cap of 60 calls a minute shared by everyone calling without a key. AI platforms call for many users from shared addresses, so calls from Anthropic's, Google's and OpenAI's published networks share one allowance for each platform instead: 30 calls a minute and 5,000 a day, inside the same shared cap. Over a limit, the answer is 429 with a Retry-After header giving the seconds to wait. The REST postcode summary endpoint needs a key. The MCP server's postcode_summary tool answers a postcode without one, with the figures the site's free postcode check shows.

Keys

District figures stay free for everyone within the free limits. A key from an API plan opens the REST postcode summary, and adds the category breakdown on MCP. It replaces the per-minute limit, the daily limit, and the shared cap with your plan's monthly quota. Every successful call made with a key counts against that quota, district calls included, so send the key only on calls that need it. Send it in the Authorization header on every request. To get a key, choose a plan. We show the key once when we create it and store only its hash, so keep it safe. A key that is unknown or disabled gets 401; it is never treated as a call without a key.

Authorization: Bearer cmuk_your_key_here

Plans and prices

Free, no key

£0

District figures, and the site's free postcode check through the MCP server, without a key: 5 requests a minute and 100 a day for each IP address (each /64 network for IPv6), while a cap shared by all free callers allows. Calls from Anthropic's, Google's and OpenAI's published networks share one allowance for each platform instead: 30 requests a minute and 5,000 a day. The postcode summary endpoint needs a key.

How free use works

API Starter

£29 a month

Postcode summaries and district figures with one key: 2,000 requests a month, with no per-minute or daily limit.

Buy API Starter

API Growth

£99 a month

Postcode summaries and district figures with one key: 20,000 requests a month, with no per-minute or daily limit.

Buy API Growth

Custom volumes

Ask us

Need more requests than these plans include? Tell us roughly how many a month, and we'll quote.

Send an enquiry

The terms cover billing, cancelling, and the quota in full.

Quotas and caching

Each key has a monthly request quota. Only successful (200) responses count against it; errors do not. The count resets at the start of each calendar month (UTC). Successful responses carry Cache-Control: private, max-age=300, and errors carry no-store. Figures change when data is imported, corrected, or rebuilt, including revisions to months already published.

Linking and citing

Every answer, including every error, carries these fields beside the figures:

page_url and free_report_url carry utm_source=api, so we can count visits that come from API answers. The citation gives the page's address without it, and the pages' canonical links leave it out.

Postcode district

GET /api/v1/districts/<district>/

Figures for one postcode district, such as E8, over the district's last 12 published months: the 12 latest months that have records for the district. window gives the first and last of those months. These are the same months and figures as the public district page, so the window can end before the latest month published nationally. Categories are sorted by total. The covering force in force_comparison is the force that published the most records inside the bounding box of the district's postcode centroids in the latest month. Near force borders this is an approximation. force_comparison is null when no force can be found.

curl https://crimemapsuk.com/api/v1/districts/e8/
{
  "district": "E8",
  "window": {"from": "2025-08", "to": "2026-07", "rule": "The district's last 12 published months, as on its district page."},
  "total": 666,
  "monthly": [
    {"month": "2025-08", "total": 50},
    {"month": "2025-09", "total": 51},
    {"month": "2025-10", "total": 52},
    {"month": "2025-11", "total": 53},
    {"month": "2025-12", "total": 54},
    {"month": "2026-01", "total": 55},
    {"month": "2026-02", "total": 56},
    {"month": "2026-03", "total": 57},
    {"month": "2026-04", "total": 58},
    {"month": "2026-05", "total": 59},
    {"month": "2026-06", "total": 60},
    {"month": "2026-07", "total": 61}
  ],
  "categories": [
    {"category": "violent-crime", "label": "Violence and sexual offences", "total": 546, "share_pct": 82.0},
    {"category": "burglary", "label": "Burglary", "total": 120, "share_pct": 18.0}
  ],
  "force_comparison": {
    "force": "metropolitan",
    "force_total": 12000,
    "district_share_of_force_pct": 5.5,
    "category_share_pct": [
      {"category": "violent-crime", "district": 82.0, "force": 30.0},
      {"category": "burglary", "district": 18.0, "force": 5.0}
    ]
  },
  "page_url": "https://www.crimemapsuk.com/crime/districts/e8/?utm_source=api",
  "citation": "CrimeMapsUK. E8 postcode district: published street-crime records, August 2025 to July 2026. Source: data.police.uk, Open Government Licence v3.0. Retrieved 29 October 2026. Police locations are approximate; records are assigned to the area by nearest postcode. https://www.crimemapsuk.com/crime/districts/e8/",
  "attribution": "Contains public sector information from data.police.uk, licensed under the Open Government Licence v3.0. Compiled by CrimeMapsUK.",
  "licence_url": "https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/"
}

District for a postcode

GET /api/v1/postcodes/district/?postcode=<postcode>

The same figures as the district endpoint, for the postcode district of a postcode: E8 for E8 1AA. The district is read from the postcode itself, so no geocoder is called, and the postcode is not stored. The figures cover the whole district, never the exact postcode, and scope says so in words. A postcode district on its own also works.

curl "https://crimemapsuk.com/api/v1/postcodes/district/?postcode=E8%201AA"
{
  "query": "E8 1AA",
  "scope": "These figures cover the whole E8 postcode district, not the exact postcode. free_report_url opens the free result page for the 0.5 km around E8 1AA.",
  "district": "E8",
  "window": {"from": "2025-08", "to": "2026-07", "rule": "The district's last 12 published months, as on its district page."},
  "total": 666,
  "monthly": [
    {"month": "2025-08", "total": 50},
    {"month": "2025-09", "total": 51},
    {"month": "2025-10", "total": 52},
    {"month": "2025-11", "total": 53},
    {"month": "2025-12", "total": 54},
    {"month": "2026-01", "total": 55},
    {"month": "2026-02", "total": 56},
    {"month": "2026-03", "total": 57},
    {"month": "2026-04", "total": 58},
    {"month": "2026-05", "total": 59},
    {"month": "2026-06", "total": 60},
    {"month": "2026-07", "total": 61}
  ],
  "categories": [
    {"category": "violent-crime", "label": "Violence and sexual offences", "total": 546, "share_pct": 82.0},
    {"category": "burglary", "label": "Burglary", "total": 120, "share_pct": 18.0}
  ],
  "force_comparison": {
    "force": "metropolitan",
    "force_total": 12000,
    "district_share_of_force_pct": 5.5,
    "category_share_pct": [
      {"category": "violent-crime", "district": 82.0, "force": 30.0},
      {"category": "burglary", "district": 18.0, "force": 5.0}
    ]
  },
  "page_url": "https://www.crimemapsuk.com/crime/districts/e8/?utm_source=api",
  "citation": "CrimeMapsUK. E8 postcode district: published street-crime records, August 2025 to July 2026. Source: data.police.uk, Open Government Licence v3.0. Retrieved 29 October 2026. Police locations are approximate; records are assigned to the area by nearest postcode. https://www.crimemapsuk.com/crime/districts/e8/",
  "free_report_url": "https://www.crimemapsuk.com/crime/postcodes/?postcode=E8+1AA&utm_source=api",
  "attribution": "Contains public sector information from data.police.uk, licensed under the Open Government Licence v3.0. Compiled by CrimeMapsUK.",
  "licence_url": "https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/"
}

Postcode summary (key required)

GET /api/v1/postcodes/summary/?postcode=<postcode>

Published counts by category for the fixed 0.5 km circle around a postcode. window is the 12-month period searched: the 12 months up to the latest month published on data.police.uk, whether or not the circle has records in its first or last month. It is null to null when no publication is loaded. coverage is ok; gap or no_data when publication around the postcode is paused or missing, so the counts are incomplete; or outside for a postcode outside England and Wales.

curl -H "Authorization: Bearer $CMUK_KEY" "https://crimemapsuk.com/api/v1/postcodes/summary/?postcode=E8%201AA"
{
  "postcode": "E8 1AA",
  "radius_km": 0.5,
  "window": {"from": "2025-09", "to": "2026-08", "rule": "The 12 months up to the latest month published on data.police.uk."},
  "coverage": "ok",
  "total": 4,
  "categories": [
    {"category": "violent-crime", "label": "Violence and sexual offences", "total": 2},
    {"category": "burglary", "label": "Burglary", "total": 1},
    {"category": "shoplifting", "label": "Shoplifting", "total": 1}
  ],
  "page_url": "https://www.crimemapsuk.com/crime/districts/e8/?utm_source=api",
  "citation": "CrimeMapsUK. 0.5 km around the E8 1AA postcode: published street-crime records, September 2025 to August 2026. Source: data.police.uk, Open Government Licence v3.0. Retrieved 29 October 2026. Police locations are approximate. Page for the E8 postcode district: https://www.crimemapsuk.com/crime/districts/e8/",
  "free_report_url": "https://www.crimemapsuk.com/crime/postcodes/?postcode=E8+1AA&utm_source=api",
  "attribution": "Contains public sector information from data.police.uk, licensed under the Open Government Licence v3.0. Compiled by CrimeMapsUK.",
  "licence_url": "https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/"
}

Errors

Errors are JSON with an error message and the same link, citation, and attribution fields.

{
  "error": "This needs an API key, sent as 'Authorization: Bearer <key>'. District figures need no key: GET /api/v1/postcodes/district/?postcode=<postcode>.",
  "page_url": "https://www.crimemapsuk.com/crime/districts/e8/?utm_source=api",
  "citation": "CrimeMapsUK. E8 postcode district: published street-crime records. Source: data.police.uk, Open Government Licence v3.0. Retrieved 29 October 2026. Police locations are approximate; records are assigned to the area by nearest postcode. https://www.crimemapsuk.com/crime/districts/e8/",
  "free_report_url": "https://www.crimemapsuk.com/crime/postcodes/?postcode=E8+1AA&utm_source=api",
  "attribution": "Contains public sector information from data.police.uk, licensed under the Open Government Licence v3.0. Compiled by CrimeMapsUK.",
  "licence_url": "https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/"
}

MCP server for AI assistants

AI assistants can read the same figures as tools through our read-only MCP server at https://crimemapsuk.com/mcp (Streamable HTTP, no sign-in). It has four tools:

The free tools share the free API's limits: a call to either counts against the same allowance. Each result carries page_url, citation, and the attribution. page_url and free_report_url carry utm_source=mcp. The server asks the assistant to credit CrimeMapsUK and link the page, and describes free_report_url as the free result page for the 0.5 km around the postcode. It never asks the assistant to offer or recommend a report.

The server speaks Streamable HTTP at that URL and answers POST only. We have tested it with the official MCP Python SDK client and the MCP Inspector command-line client:

npx @modelcontextprotocol/inspector --cli https://crimemapsuk.com/mcp --transport http --method tools/list

For every category's count from postcode_summary, send your API key as an Authorization: Bearer header with each request. The key then counts against your monthly quota, as an API call does.

Changes

Licence and attribution

The data is published by the Home Office on data.police.uk under the Open Government Licence v3.0. Show the attribution text wherever you display the figures. Police locations are approximate, and the counts are published records, not all crime.