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 month = "2025-11", offence = "Driving without Reasonable Consideration" and reporter_transport_mode = "Car" sorted by month descending

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: vehicle_colour, council_area_raw, nfa_rationale

vehicle_make 5

  • Renault 2
  • BMW 1
  • Hyundai 1
  • Jaecoo 1
  • Skoda 1

council_area 4

  • Birmingham 3
  • Coventry 1
  • Out of Force Area 1
  • Walsall 1

disposal 3

  • Education 2
  • NFA 2
  • Warning Letter 2

reporter_transport_mode 1

  • Car · 6 ✖

offence 1

  • Driving without Reasonable Consideration · 6 ✖

month 1

  • 2025-11 · 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
20481 op-snap---monthly-publication-november-2025.pdf   23 2025-11 Car Skoda Kodiaq Black Driving without Reasonable Consideration None Lawley Middleway Lawley Middleway Birmingham Birmingham Warning Letter N/A   52.4801772 -1.8769185
20489 op-snap---monthly-publication-november-2025.pdf   31 2025-11 Car Jaecoo Delux Black Driving without Reasonable Consideration None M42 Solihull M42 Solihull Birmingham Birmingham NFA No Offence   52.4711059 -1.8461809
20695 op-snap---monthly-publication-november-2025.pdf   237 2025-11 Car Renault Clio Silver Driving without Reasonable Consideration None Bromford Lane Bromford Lane Birmingham Birmingham Education N/A   52.5083238 -1.8332287
20697 op-snap---monthly-publication-november-2025.pdf   239 2025-11 Car Renault Megane Black Driving without Reasonable Consideration None M6 10A M6 10A Walsall Walsall Education N/A   52.6082749 -2.021764
21240 op-snap---monthly-publication-november-2025.pdf   782 2025-11 Car Hyundai i30 blue Driving without Reasonable Consideration None M5 Northbound, West Mercia M5 Northbound, West Mercia Out of Force Area Out of Force Area NFA Out of Force      
22023 op-snap---monthly-publication-november-2025.pdf   1565 2025-11 Car BMW 520 Grey Driving without Reasonable Consideration None A45 A45 Coventry Coventry Warning Letter 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);