home / opsnap

reports

Each row is one public submission to Operation Snap. Includes the offence, vehicle details, location, and outcome.

Disposal outcomes: Education (driver awareness course), Warning Letter, Fixed Penalty (fine), Court (prosecution), NFA (no further action).

Data license: ODbL · Data source: West Midlands Police

id
{'label': 'ID'}
source_file
{'label': 'Source PDF'}
source_page
{'label': 'Page'}
source_row
{'label': 'Row'}
month
{'label': 'Month'}
reporter_transport_mode
{'label': 'Reporter'}
vehicle_make
{'label': 'Make'}
vehicle_model
{'label': 'Model'}
vehicle_colour
{'label': 'Colour'}
offence
{'label': 'Offence'}
second_offence
{'label': 'Second offence'}
offence_location_raw
{'label': 'Location (raw)'}
offence_location
{'label': 'Location'}
council_area_raw
{'label': 'Council (raw)'}
council_area
{'label': 'Council area'}
disposal
{'label': 'Outcome'}
nfa_rationale
{'label': 'NFA reason'}
witness_contacted
{'label': 'Witness contacted'}
latitude
{'label': 'Lat'}
longitude
{'label': 'Lng'}

6 rows where council_area = "Walsall", month = "2025-05" and vehicle_make = "BMW" sorted by month descending

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: vehicle_colour, second_offence, nfa_rationale

reporter_transport_mode 3

  • Car 3
  • Pedal Bike 2
  • Pedestrian 1

offence 3

  • Using a Mobile Phone Whilst Driving 3
  • Driving without Due Care and Attention 2
  • Contravening a Red Traffic Light 1

disposal 2

  • Fixed Penalty 3
  • NFA 3

vehicle_make 1

  • BMW · 6 ✖

month 1

  • 2025-05 · 6 ✖

council_area 1

  • Walsall · 6 ✖
id source_file source_page source_row month ▲ reporter_transport_mode vehicle_make vehicle_model vehicle_colour offence second_offence offence_location_raw offence_location council_area_raw council_area disposal nfa_rationale witness_contacted latitude longitude
18887 op-snap---monthly-publication-may-2025.pdf   249 2025-05 Pedestrian BMW 535 D Silver Contravening a Red Traffic Light None A4148 Walsall Walsall Walsall Walsall NFA Outside of 14 Days NIP   52.5841365 -1.9852679
19071 op-snap---monthly-publication-may-2025.pdf   433 2025-05 Car BMW M4 Grey Using a Mobile Phone Whilst Driving NONE M6 JUNCTION 9 M6 Junction 9 Walsall Walsall Fixed Penalty N/A   52.676119 -2.0858425
19247 op-snap---monthly-publication-may-2025.pdf   609 2025-05 Car BMW 3 series White Using a Mobile Phone Whilst Driving None Wilkin Road, Brownhills Wilkin Road, Brownhills Walsall Walsall Fixed Penalty N/A   52.6580428 -1.9502105
20000 op-snap---monthly-publication-may-2025.pdf   1362 2025-05 Pedal Bike BMW 600 SERIES Blue Driving without Due Care and Attention None jtc with barns lane Jtc With Barns Lane Walsall Walsall NFA Outside of 14 Days NIP      
20031 op-snap---monthly-publication-may-2025.pdf   1393 2025-05 Pedal Bike BMW NP Black Using a Mobile Phone Whilst Driving None Daw end lane Daw end lane Walsall Walsall Fixed Penalty N/A   52.6068849 -1.9611652
20085 op-snap---monthly-publication-may-2025.pdf   1447 2025-05 Car BMW 3rd series Black Driving without Due Care and Attention None TRYSULL RD TO BRADMORE RD Trysull Rd To Bradmore Rd Walsall Walsall NFA Outside of 14 Days NIP      

Advanced export

JSON shape: default, array, newline-delimited, object

CSV options:

CREATE TABLE reports (
            id INTEGER PRIMARY KEY AUTOINCREMENT,
            source_file TEXT NOT NULL,
            source_page INTEGER,
            source_row INTEGER,
            month TEXT NOT NULL,
            reporter_transport_mode TEXT,
            vehicle_make TEXT,
            vehicle_model TEXT,
            vehicle_colour TEXT,
            offence TEXT,
            second_offence TEXT,
            offence_location_raw TEXT,
            offence_location TEXT,
            council_area_raw TEXT,
            council_area TEXT,
            disposal TEXT,
            nfa_rationale TEXT,
            witness_contacted TEXT
        , latitude REAL, longitude REAL);
CREATE INDEX idx_month ON reports(month);
CREATE INDEX idx_council_area ON reports(council_area);
CREATE INDEX idx_offence ON reports(offence);
CREATE INDEX idx_disposal ON reports(disposal);
CREATE INDEX idx_location ON reports(offence_location);