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

14 rows where month = "2025-01", offence = "Contravening a Red Traffic Light" and vehicle_make = "BMW" 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, nfa_rationale

council_area 6

  • Birmingham 5
  • Wolverhampton 4
  • Walsall 2
  • Dudley 1
  • Sandwell 1
  • Solihull 1

disposal 5

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

reporter_transport_mode 2

  • Car 13
  • Pedal Bike 1

vehicle_make 1

  • BMW · 14 ✖

offence 1

  • Contravening a Red Traffic Light · 14 ✖

month 1

  • 2025-01 · 14 ✖
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
8926 op-snap---monthly-publication-january-2025.pdf   34 2025-01 Car BMW 320i Black Contravening a Red Traffic Light None Kings Road Kings Road Birmingham Birmingham Fixed Penalty N/A Yes - Via Email 52.5531351 -1.8852761
8940 op-snap---monthly-publication-january-2025.pdf   48 2025-01 Car BMW X1 White Contravening a Red Traffic Light None Wednesfield Road Wednesfield Road Wolverhampton Wolverhampton Education N/A Yes - Via Email 52.5885601 -2.122003
9038 op-snap---monthly-publication-january-2025.pdf   146 2025-01 Car BMW 118i Grey Contravening a Red Traffic Light None Darlaston Road Darlaston Road Walsall Walsall Fixed Penalty N/A Yes - Via Email 52.5635181 -2.0322876
9087 op-snap---monthly-publication-january-2025.pdf   195 2025-01 Car BMW 3 series Black Contravening a Red Traffic Light No Insurance Chase Road Chase Road Walsall Walsall Court N/A Yes - Via Email 52.6146822 -2.0143222
9360 op-snap---monthly-publication-january-2025.pdf   468 2025-01 Car BMW X5 Grey Contravening a Red Traffic Light None Newton Road, Hamstead Newton Road, Hamstead Birmingham Birmingham Fixed Penalty N/A Yes - Via Email 52.5429259 -1.9534939
9382 op-snap---monthly-publication-january-2025.pdf   490 2025-01 Pedal Bike BMW 340d Orange Contravening a Red Traffic Light None Pershore Road Pershore Road Birmingham Birmingham Fixed Penalty N/A Yes - Via Email 52.4308271 -1.920078
9627 op-snap---monthly-publication-january-2025.pdf   735 2025-01 Car BMW 320 Black Contravening a Red Traffic Light None Sliproad M6 South Jct 9, Wednesbury Sliproad M6 South Junction 9, Wednesbury Sandwell Sandwell Fixed Penalty N/A Yes - Via Email    
9668 op-snap---monthly-publication-january-2025.pdf   776 2025-01 Car BMW 430i White Contravening a Red Traffic Light VRM fails to conform to Regulations High Street, Quarry Bank High Street, Quarry Bank Dudley Dudley Court N/A Yes - Via Email 52.4576453 -2.1150716
9756 op-snap---monthly-publication-january-2025.pdf   864 2025-01 Car BMW 5 SERIES Black Contravening a Red Traffic Light None WATERLOO ROAD Waterloo Road Wolverhampton Wolverhampton NFA No VRM Yes - Via Email 52.5960155 -2.1295068
10218 op-snap---monthly-publication-january-2025.pdf   1326 2025-01 Car BMW X4 Black Contravening a Red Traffic Light None Bee Lane Bee Lane Wolverhampton Wolverhampton Warning Letter N/A Yes - Via Email 52.6250891 -2.1212912
10229 op-snap---monthly-publication-january-2025.pdf   1337 2025-01 Car BMW 320D Grey Contravening a Red Traffic Light None A38 From Harborne Lane Island From Harborne Lane Island Birmingham Birmingham Fixed Penalty N/A Yes - Via Email    
10267 op-snap---monthly-publication-january-2025.pdf   1375 2025-01 Car BMW X4 Black Contravening a Red Traffic Light VRM fails to conform to Regulations Brierley Lane Brierley Lane Wolverhampton Wolverhampton Fixed Penalty N/A Yes - Via Email 52.5500826 -2.0730828
10313 op-snap---monthly-publication-january-2025.pdf   1421 2025-01 Car BMW 530 Grey Contravening a Red Traffic Light None Stratford road Stratford road Solihull Solihull Fixed Penalty N/A Yes - Via Email 52.4191184 -1.8326637
10491 op-snap---monthly-publication-january-2025.pdf   1599 2025-01 Car BMW 730D Silver Contravening a Red Traffic Light None CHURCH ROAD Church Road Birmingham Birmingham Fixed Penalty N/A Yes - Via Email 52.4624743 -1.7763934

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