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 month = "2025-08", offence = "Using a Mobile Phone Whilst Driving" and vehicle_make = "BMW" sorted by month descending

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: vehicle_colour, council_area_raw, nfa_rationale

council_area 3

  • Out of Force Area 3
  • Birmingham 2
  • Sandwell 1

reporter_transport_mode 2

  • Car 5
  • Pedestrian 1

disposal 2

  • Fixed Penalty 3
  • NFA 3

vehicle_make 1

  • BMW · 6 ✖

offence 1

  • Using a Mobile Phone Whilst Driving · 6 ✖

month 1

  • 2025-08 · 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
2117 op-snap---monthly-publication-august-2025.pdf   92 2025-08 Car BMW SUV Black Using a Mobile Phone Whilst Driving None Middle lane of the M5 JUNCTION 1 AND M6 JUNCTION 8 Middle lane of the M5 JUNCTION 1 AND M6 JUNCTION 8 Sandwell Sandwell Fixed Penalty N/A      
2252 op-snap---monthly-publication-august-2025.pdf   227 2025-08 Car BMW   White Using a Mobile Phone Whilst Driving None M6 Motorway M6 Motorway Birmingham Birmingham Fixed Penalty N/A   52.5327447 -1.899844
2462 op-snap---monthly-publication-august-2025.pdf   437 2025-08 Car BMW 116I Grey Using a Mobile Phone Whilst Driving None M62 Mnachester M62 Mnachester Out of Force Are Out of Force Area NFA Out of Force      
2522 op-snap---monthly-publication-august-2025.pdf   497 2025-08 Car BMW 520D Silver Using a Mobile Phone Whilst Driving None A444 (West Mercia) A444 (West Mercia) Out of Force Are Out of Force Area NFA Out of Force      
2970 op-snap---monthly-publication-august-2025.pdf   945 2025-08 Car BMW 3 series Grey Using a Mobile Phone Whilst Driving None Between Hagley and Blakedown in West Mercia Between Hagley and Blakedown in West Mercia Out of Force Are Out of Force Area NFA Out of Force      
2994 op-snap---monthly-publication-august-2025.pdf   969 2025-08 Pedestrian BMW 1 Series Grey Using a Mobile Phone Whilst Driving None Woodstock Road Woodstock Road Birmingham Birmingham Fixed Penalty N/A   52.4486205 -1.8740822

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);