Insurance underwriter · FinTech risk · Property management

Six crime categories. A national percentile rank. No pipeline.

Home Office crime data is published monthly across hundreds of local police force CSV files — aggregating, normalising, and ranking it into per-postcode signals is a weeks-long data engineering project. Zyfy does it and returns both an overall crime rate band and a breakdown across six categories: violence, property crime, vehicle crime, antisocial behaviour, drugs, and criminal damage. A continuous national percentile rank lets risk models work with precision, not just tiers.

Relevant signals

These fields are returned on every response and are ready to wire into your application logic.

SignalRelevanceWhat it tells you
signals.crime.rateBandCriticalFive-band overall crime rate: very_low, low, medium, high, very_high. Normalised against the national LSOA distribution — a "high" in rural Lincolnshire means the same thing as a "high" in inner London.
percentiles.crimeRateCriticalNational crime rate percentile (0–100). p94 is meaningfully different from p75, even if both are banded "very_high". Use this in continuous actuarial models for the granularity that five bands lose.
signals.crime.categories.vehicle.bandHighVehicle crime band specifically — separate from the overall rate. For motor insurance underwriting, a postcode with low overall crime but high vehicle crime is a different risk profile to one with uniformly high crime.
signals.crime.categories.property.bandHighProperty crime band: burglary, theft, shoplifting. Primary input for contents and buildings insurance pricing. Returned alongside violence, antisocial, drugs, and damage categories.
signals.deprivation.imdDecileMediumStrongly correlated with crime rate. Use as a cross-validation signal — a high-crime postcode with high deprivation is a different underwriting proposition from a high-crime postcode with low deprivation.

Live example

A real-world request and the response it returns.

Request

curl https://zyfy.uk/v1/postcode/B46AT \
  -H "X-API-Key: your_api_key"

Response

{
  "postcode": "B4 6AT",
  "adminDistrict": "Birmingham",
  "region": "West Midlands",
  "summary": {
    "propertyRiskLevel": "high",
    "insuranceRiskLevel": "high"
  },
  "signals": {
    "crime": {
      "rateBand": "very_high",
      "dataGranularity": { "band": "lsoa", "categories": "lsoa" },
      "categories": {
        "violence":   { "band": "high",      "trend": null },
        "property":   { "band": "very_high", "trend": null },
        "vehicle":    { "band": "high",      "trend": null },
        "antisocial": { "band": "very_high", "trend": null },
        "drugs":      { "band": "medium",    "trend": null },
        "damage":     { "band": "high",      "trend": null }
      }
    },
    "deprivation": { "imdDecile": 2 }
  },
  "scores": { "propertyRiskScore": 0.69 },
  "percentiles": { "crimeRate": 94 }
}

Example data is illustrative only. Responses shown include a subset of signals for clarity — the full response contains additional fields. See the signal reference for the complete list.

What you get

  • No raw crime counts to interpret — crime_rate_band gives you a ready-to-use five-tier classification. Skip the normalisation step — postcodes with different population densities are already comparable.
  • Continuous percentile for model precision — crime_rate_percentile gives actuarial models a continuous 0–100 signal. A p94 postcode carries meaningfully different risk from p75, even though both are "very_high".
  • Home Office data without the pipeline — Aggregating hundreds of monthly police force CSV files into a queryable per-postcode index is a non-trivial data engineering problem. Zyfy maintains this so you do not have to.
  • Pairs with flood and deprivation signals — Crime risk rarely exists in isolation — high-crime postcodes often correlate with high deprivation and poor livability. All three signals are returned in the same response.

Add crime risk to your underwriting rules today.

Free tier includes 100 requests per month. No credit card, no sales call.