🚨 Emergency Numbers
999Emergency Services NHNational Highways 🔧Get Breakdown Help
🚨 Emergency? Call 999 · Motorway breakdown? 0300 123 5000
LIVE TRAFFIC
Loading incidents...
0
📢ADVERTISE HEREReach thousands of UK drivers · View Plans

Start typing to search

Find traffic updates, service providers, tools & more

UK Traffic Updates — API Documentation

RESTful API providing access to 551,000+ UK police collision records, vehicle data, casualty data, and blackspot analysis. All responses are JSON.

Base URL: https://www.uktrafficupdates.uk/api/data-api.php

Authentication

Pass your API key as a query parameter or HTTP header:

# Query parameter (simplest)
GET /api/data-api.php?key=uktu_starter_xxxx&action=ping

# HTTP header
GET /api/data-api.php?action=ping
X-API-Key: uktu_starter_xxxx

Request an API key →

Error Handling

All errors return a JSON object with status: "error" and an error message.

{ "status": "error", "error": "Invalid API key", "docs": "..." }
{ "status": "error", "error": "Hourly rate limit reached (100/hour)" }
HTTP CodeMeaning
200Success
400Bad request — check your parameters
401Invalid or missing API key
404Record not found
429Rate limit exceeded
500Server error — contact support

Rate Limits

TierPer HourPer DayPrice
Trial10100Free
Starter1001,000£199/mo
Professional5005,000£499/mo
EnterpriseUnlimitedUnlimitedCustom

Every response includes meta.calls_remaining_hour and meta.calls_remaining_day.

GET — ping

Verify your API key is working. Returns your tier and organisation.

GET?key=xxx&action=ping
{
  "status": "ok",
  "message": "UK Traffic Updates API is operational",
  "organisation": "Surrey County Council",
  "tier": "starter",
  "timestamp": "2026-04-10T14:30:00+00:00",
  "meta": { "calls_remaining_today": 998, "tier": "starter" }
}

GET — collision

Retrieve a single collision record by accident reference, including all vehicles and casualties.

GET?key=xxx&action=collision&ref=2024010123456
ParameterTypeDescription
refstringREQUIRED Accident index (from road or lookup results)
{
  "status": "ok",
  "collision": {
    "accident_index": "2024010123456",
    "date": "2024-06-01", "time": "14:32",
    "road": "M25", "severity": "serious",
    "num_vehicles": 2, "num_casualties": 1,
    "speed_limit": 70, "weather": "Fine no high winds",
    "road_surface": "Dry", "light_conditions": "Daylight",
    "police_force": "Surrey Police",
    "lat": 51.38420, "lng": -0.12650
  },
  "vehicles": [
    { "type": "Car", "make_model": "Ford Focus",
      "driver_age": 34, "driver_sex": "Male",
      "manoeuvre": "Going ahead other", "propulsion": "Petrol" }
  ],
  "casualties": [
    { "severity": "serious", "sex": "Female", "age": 28,
      "class": "Driver or rider", "type": "Car occupant" }
  ],
  "meta": { "calls_remaining_today": 997, "response_ms": 42 }
}

GET — road

List collision records on a named road. Supports filtering and pagination.

GET?key=xxx&action=road&road=M25&limit=50&page=1
ParameterTypeDescription
roadstringREQUIRED Road name e.g. M25, A3, M6
severitystringoptional Filter: fatal, serious, slight
yearintoptional Filter by year e.g. 2024
limitintoptional Results per page (max 100, default 50)
pageintoptional Page number (default 1)

GET — stats

Aggregate statistics for a road — totals, severity breakdown, year-by-year trend, weather analysis.

GET?key=xxx&action=stats&road=M25
ParameterDescription
roadREQUIRED Road name e.g. M25
{
  "status": "ok", "road": "M25",
  "total_collisions": 2847, "fatal": 62,
  "serious": 498, "slight": 2287,
  "total_casualties": 3841, "avg_speed_limit": 67.4,
  "date_range": { "from": "2020-01-02", "to": "2025-06-30" },
  "by_year": { "2020": 487, "2021": 523, "2022": 611 },
  "by_weather": { "Fine no high winds": 1890, "Raining no high winds": 421 }
}

GET — blackspot

Danger scoring and top junction analysis for a road.

GET?key=xxx&action=blackspot&road=M25
{
  "status": "ok", "road": "M25",
  "danger_score": 78, "risk_level": "Very High",
  "top_junctions": [
    { "junction": "J10", "collisions": 48, "fatal": 3, "casualties": 61 }
  ]
}

GET — lookup

Find all collisions within a radius of a GPS coordinate. Useful for address-based lookups.

GET?key=xxx&action=lookup&lat=51.5074&lng=-0.1278&radius=500
ParameterDescription
latREQUIRED Latitude (49–61)
lngREQUIRED Longitude (-8 to 2)
radiusoptional Radius in metres (50–2000, default 500)

Need an API key?

Trial keys available free — full access keys from £199/month.

Request Access →