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 disposal = "Court" and vehicle_make = "Suzuki" sorted by month descending

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: source_file, vehicle_colour, second_offence

council_area 6

  • Birmingham 1
  • Coventry 1
  • Dudley 1
  • Halesowen 1
  • Out of Force Area 1
  • Sutton Coldfield 1

reporter_transport_mode 4

  • Car 2
  • Pedal Bike 2
  • Other 1
  • Pedestrian 1

month 3

  • 2025-06 3
  • 2026-01 2
  • 2025-10 1

vehicle_make 1

  • Suzuki · 6 ✖

offence 1

  • Driving without Due Care and Attention 6

disposal 1

  • Court · 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
11027 op-snap---monthly-publication-january-2026.pdf   488 2026-01 Car Suzuki GSXS 125 Black Driving without Due Care and Attention Drive otherwise than in accordance with a licence Bristol Road South Bristol Road South Birmingham Birmingham Court N/A   52.4119174 -1.9735247
11834 op-snap---monthly-publication-january-2026.pdf   1295 2026-01 Pedal Bike Suzuki Swift Blue Driving without Due Care and Attention None White Street White Street Coventry Coventry Court N/A   52.4122951 -1.5045181
22202 op-snap---monthly-publication-october-2025.pdf   152 2025-10 Other Suzuki   Green Driving without Due Care and Attention None Waterfront Car Park Waterfront Car Park Dudley Dudley Court N/A      
14166 op-snap---monthly-publication-june-2025.pdf   95 2025-06 Pedestrian Suzuki UF50 Blue Driving without Due Care and Attention No Insurance HARCOURT DRIVE Harcourt Drive Sutton Coldfield Sutton Coldfield Court N/A   52.594171 -1.8454056
14274 op-snap---monthly-publication-june-2025.pdf   203 2025-06 Car Suzuki GSX 1250 Black Driving without Due Care and Attention No vehicle excise licence M54 motorway, nr Jn1 M54 motorway, nr Jn1 Out of Force Area Out of Force Area Court N/A      
14519 op-snap---monthly-publication-june-2025.pdf   448 2025-06 Pedal Bike Suzuki GXSR White Driving without Due Care and Attention None Grange Hill, off Manor Way Grange Hill, off Manor Way Halesowen Halesowen Court N/A      

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