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

8 rows where council_area = "Wolverhampton", disposal = "Education" and month = "2025-05" sorted by month descending

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: vehicle_colour, offence_location_raw, offence_location, latitude, longitude

vehicle_make 6

  • BMW 2
  • Renault 2
  • Audi 1
  • Citroen 1
  • Land Rover 1
  • Seat 1

offence 4

  • Contravening a Red Traffic Light 3
  • Driving without Due Care and Attention 2
  • Stop a vehicle within pelican pedestrian crossing limits 2
  • Stop a vehicle on pedestrian crossing 1

reporter_transport_mode 2

  • Car 7
  • Pedal Bike 1

month 1

  • 2025-05 · 8 ✖

disposal 1

  • Education · 8 ✖

council_area 1

  • Wolverhampton · 8 ✖
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
18969 op-snap---monthly-publication-may-2025.pdf   331 2025-05 Car Citroen Berlingo White Stop a vehicle on pedestrian crossing None High Street, Tettenhall High Street, Tettenhall Wolverhampton Wolverhampton Education N/A   52.5980906 -2.168057
18991 op-snap---monthly-publication-may-2025.pdf   353 2025-05 Car Land Rover Freelander Blue Contravening a Red Traffic Light None Birches Barn Road Birches Barn Road Wolverhampton Wolverhampton Education N/A   52.5716962 -2.1462935
19085 op-snap---monthly-publication-may-2025.pdf   447 2025-05 Car BMW 316 Blue Contravening a Red Traffic Light None Wolverhampton ring Road Wolverhampton ring Road Wolverhampton Wolverhampton Education N/A   52.5868722 -2.1217519
19307 op-snap---monthly-publication-may-2025.pdf   669 2025-05 Car BMW 520.. Blue Driving without Due Care and Attention None Wellington Road Wellington Road Wolverhampton Wolverhampton Education N/A   52.5686779 -2.0822541
19357 op-snap---monthly-publication-may-2025.pdf   719 2025-05 Pedal Bike Renault Kadjar Grey Driving without Due Care and Attention None Bognop Road Bognop Road Wolverhampton Wolverhampton Education N/A      
19473 op-snap---monthly-publication-may-2025.pdf   835 2025-05 Car Seat Arona Grey Stop a vehicle within pelican pedestrian crossing limits None High Street High Street Wolverhampton Wolverhampton Education N/A   52.5635963 -2.0827567
19599 op-snap---monthly-publication-may-2025.pdf   961 2025-05 Car Audi RS3 Grey Contravening a Red Traffic Light None Lower Street, Tettenhal Lower Street, Tettenhal Wolverhampton Wolverhampton Education N/A      
19600 op-snap---monthly-publication-may-2025.pdf   962 2025-05 Car Renault Van Grey Stop a vehicle within pelican pedestrian crossing limits None High Street, Tettenhall High Street, Tettenhall Wolverhampton Wolverhampton Education N/A   52.5980906 -2.168057

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