For journalists
Report London numbers with the source line already attached.
Compare the same official measure across wards or postcode districts, retrieve the underlying monthly series and inspect individual HM Land Registry transactions without building a new data pipeline for every story.
Three useful tools
GET /v1/wards?borough=hackneyand the London district table put comparable places on one documented basis.get_historyreturns an explicit monthly series and the true loaded coverage bounds rather than silently clipping dates.GET /v1/property-sales/{postcode}returns registered Price Paid transactions plus factual count, median and quartiles.
Worked example: Hackney ward crime
Pull every Hackney ward, use the published Census denominator and then retrieve the 24-month recorded-crime series for the ward code you are reporting. The REST response’s sources array is the attribution line.
GET https://api.civicdata.co.uk/v1/wards?borough=hackney GET https://api.civicdata.co.uk/v1/history/crime/E05009376?from=2024-08-01&to=2026-07-31 npx civicdata wards --borough hackney npx civicdata history crime E05009376 --from 2024-08-01 --to 2026-07-31
MCP prompt form:
Use list_geography_profiles for Hackney wards, then call get_history for crime on ward E05009376 from 2024-08-01 to 2026-07-31. Return the sources array and geographic basis with every number.
What Civic does not do
It does not label an area safe or unsafe, rank wards, infer causation, estimate a property value or turn incomplete periods into a trend. Recorded crime is returned at its real source geography and Price Paid records are completed registrations that may be revised.