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'}

5 rows where month = "2025-05", reporter_transport_mode = "Other" and vehicle_make = "Ford" sorted by month descending

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: vehicle_colour, second_offence, offence_location, council_area_raw, nfa_rationale, latitude, longitude

offence 2

  • Driving without Due Care and Attention 3
  • Motor vehicle fail to comply with endorsable section 36 traffic sign -other than manned or automatic equipmen 2

disposal 2

  • NFA 4
  • Education 1

council_area 2

  • Dudley 4
  • Birmingham 1

vehicle_make 1

  • Ford · 5 ✖

reporter_transport_mode 1

  • Other · 5 ✖

month 1

  • 2025-05 · 5 ✖
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
18819 op-snap---monthly-publication-may-2025.pdf   181 2025-05 Other Ford Transit Grey Motor vehicle fail to comply with endorsable section 36 traffic sign -other than manned or automatic equipmen Nt one Tower St Tower Street Dudley Dudley NFA Outside of 14 Days NIP   52.5112053 -2.0833165
18977 op-snap---monthly-publication-may-2025.pdf   339 2025-05 Other Ford Fiesta Black Driving without Due Care and Attention None Grey 7 Car park, Merry Hill Grey 7 Car park, Merry Hill Dudley Dudley Education N/A      
19197 op-snap---monthly-publication-may-2025.pdf   559 2025-05 Other Ford C Max Black Driving without Due Care and Attention None Riversdale Road Riversdale Road Birmingham Birmingham NFA No VRM   52.4113809 -1.8568702
19777 op-snap---monthly-publication-may-2025.pdf   1139 2025-05 Other Ford Transit 250 White Motor vehicle fail to comply with endorsable section 36 traffic sign -other than manned or automatic equipmen Nt one Tower Street Tower Street Dudley Dudley NFA No Independent Evidence Available   52.5112053 -2.0833165
19926 op-snap---monthly-publication-may-2025.pdf   1288 2025-05 Other Ford NP Black Driving without Due Care and Attention None Clinic drive car park Clinic drive car park Dudley Dudley 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);