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

9 rows where offence = "Drive on hard shoulder" and vehicle_make = "BMW" sorted by month descending

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: source_file, vehicle_model, vehicle_colour, council_area_raw, nfa_rationale

month 7

  • 2025-05 2
  • 2025-07 2
  • 2025-04 1
  • 2025-08 1
  • 2025-09 1
  • 2025-11 1
  • 2026-02 1

disposal 5

  • Warning Letter 4
  • Education 2
  • Court 1
  • Fixed Penalty 1
  • NFA 1

council_area 4

  • Birmingham 4
  • Out of Force Area 3
  • Solihull 1
  • Walsall 1

vehicle_make 1

  • BMW · 9 ✖

reporter_transport_mode 1

  • Car 9

offence 1

  • Drive on hard shoulder · 9 ✖
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
8341 op-snap---monthly-publication-february-2026.pdf   1088 2026-02 Car BMW X5 Grey Drive on hard shoulder None M6 motorway at the A38 exit, jn 6 M6 motorway at the A38 exit, jn 6 Birmingham Birmingham Education N/A      
21720 op-snap---monthly-publication-november-2025.pdf   1262 2025-11 Car BMW 320d Red Drive on hard shoulder None M5 North M5 North Walsall Walsall Court N/A   52.5859649 -1.9897914
24351 op-snap---monthly-publication-september-2025.pdf   570 2025-09 Car BMW 3 series Red Drive on hard shoulder None M42 motorway M42 motorway Out of Force Area Out of Force Area Warning Letter N/A   52.490826 -1.8882034
2753 op-snap---monthly-publication-august-2025.pdf   728 2025-08 Car BMW 520.. Grey Drive on hard shoulder None M6 (North) M6 (North) Birmingham Birmingham Warning Letter N/A   52.5143137 -1.7683873
13758 op-snap---monthly-publication-july-2025.pdf   1810 2025-07 Car BMW 435I Green Drive on hard shoulder None M5 -M6 M5 -M6 Birmingham Birmingham Warning Letter N/A   52.5183642 -1.8724942
13875 op-snap---monthly-publication-july-2025.pdf   1927 2025-07 Car BMW 320D White Drive on hard shoulder None M6 M6 Birmingham Birmingham Warning Letter N/A      
19084 op-snap---monthly-publication-may-2025.pdf   446 2025-05 Car BMW X5 Grey Drive on hard shoulder None M6 Motorway Northbound Jn 2-3 M6 Motorway Northbound Junction 2-3 Out of Force Area Out of Force Area Fixed Penalty N/A      
19548 op-snap---monthly-publication-may-2025.pdf   910 2025-05 Car BMW 420D Black Drive on hard shoulder None M42 Southbound M42 Southbound Solihull Solihull Education N/A      
633 op-snap---monthly-publication-april-2025.pdf   632 2025-04 Car BMW 1 series White Drive on hard shoulder None A5 in Telford A5 in Telford Out of Force Area Out of Force Area NFA Out of Force      

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