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 disposal = "Court", month = "2026-01" and offence = "Contravening a Red Traffic Light" sorted by month descending

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: vehicle_model, vehicle_colour, second_offence, council_area_raw

vehicle_make 7

  • Vauxhall 2
  • Volkswagen 2
  • Audi 1
  • Mercedes-Benz 1
  • Peugeot 1
  • Skoda 1
  • Toyota 1

council_area 3

  • Birmingham 6
  • Sandwell 2
  • Sutton Coldfield 1

reporter_transport_mode 1

  • Car 9

offence 1

  • Contravening a Red Traffic Light · 9 ✖

month 1

  • 2026-01 · 9 ✖

disposal 1

  • Court · 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
10541 op-snap---monthly-publication-january-2026.pdf   2 2026-01 Car Audi S3 Black Contravening a Red Traffic Light No Insurance Alum Rock Road Alum Rock Road Birmingham Birmingham Court N/A   52.4883936 -1.8310056
10859 op-snap---monthly-publication-january-2026.pdf   320 2026-01 Car Toyota Yaris Green Contravening a Red Traffic Light No Insurance Alcester Road Alcester Road Birmingham Birmingham Court N/A   52.4470686 -1.8880749
11142 op-snap---monthly-publication-january-2026.pdf   603 2026-01 Car Mercedes-Benz Sprinter White Contravening a Red Traffic Light None Minworth Island Minworth Island Sutton Coldfield Sutton Coldfield Court N/A   52.5310982 -1.7747583
11199 op-snap---monthly-publication-january-2026.pdf   660 2026-01 Car Volkswagen T-Roc Blue Contravening a Red Traffic Light None Reddings Lane Tysley Reddings Lane Tysley Birmingham Birmingham Court N/A      
11397 op-snap---monthly-publication-january-2026.pdf   858 2026-01 Car Skoda Octavia Blue Contravening a Red Traffic Light No Insurance Stratford Road Stratford Road Birmingham Birmingham Court N/A   52.4203897 -1.8338574
11478 op-snap---monthly-publication-january-2026.pdf   939 2026-01 Car Vauxhall Astra Blue Contravening a Red Traffic Light None Downing Street Downing Street Sandwell Sandwell Court N/A   52.5015329 -1.9556094
11635 op-snap---monthly-publication-january-2026.pdf   1096 2026-01 Car Vauxhall Astra Silver Contravening a Red Traffic Light No Insurance Queslett Road Queslett Road Birmingham Birmingham Court N/A   52.5458699 -1.9304484
11642 op-snap---monthly-publication-january-2026.pdf   1103 2026-01 Car Volkswagen Scirroco Blue Contravening a Red Traffic Light None Great Charles Street Great Charles Street Birmingham Birmingham Court N/A   52.4837518 -1.901874
11885 op-snap---monthly-publication-january-2026.pdf   1346 2026-01 Car Peugeot 207.. Blue Contravening a Red Traffic Light No Insurance Wolverhampton Road Wolverhampton Road Sandwell Sandwell Court N/A   52.4702299 -1.9948976

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