reports
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'}
5 rows where offence = "Use a vehicle / cycle on a road and contravene a local traffic order other than parking", reporter_transport_mode = "Car" and vehicle_make = "Peugeot" sorted by month descending
This data as json, CSV (advanced)
Suggested facets: source_file, vehicle_model, vehicle_colour, offence_location_raw, offence_location, council_area_raw, nfa_rationale, latitude, longitude
disposal 3
- Warning Letter 3
- Fixed Penalty 1
- NFA 1
council_area 2
- Birmingham 4
- Solihull 1
vehicle_make 1
- Peugeot · 5 ✖
reporter_transport_mode 1
- Car · 5 ✖
offence 1
- Use a vehicle / cycle on a road and contravene a local traffic order other than parking · 5 ✖
| 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 21153 | op-snap---monthly-publication-november-2025.pdf | 695 | 2025-11 | Car | Peugeot | 3008 | Blue | Use a vehicle / cycle on a road and contravene a local traffic order other than parking | None | Lower Queen Street | Lower Queen Street | Birmingham | Birmingham | Warning Letter | N/A | 52.5603978 | -1.8227403 | ||
| 22625 | op-snap---monthly-publication-october-2025.pdf | 575 | 2025-10 | Car | Peugeot | Eurotaxi | Black | Use a vehicle / cycle on a road and contravene a local traffic order other than parking | None | Moseley Road | Moseley Road | Birmingham | Birmingham | Warning Letter | N/A | 52.4679402 | -1.881408 | ||
| 23001 | op-snap---monthly-publication-october-2025.pdf | 951 | 2025-10 | Car | Peugeot | Partner | Silver | Use a vehicle / cycle on a road and contravene a local traffic order other than parking | None | Chester Road | Chester Road | Solihull | Solihull | Warning Letter | N/A | 52.5021946 | -1.7719526 | ||
| 15654 | op-snap---monthly-publication-june-2025.pdf | 1583 | 2025-06 | Car | Peugeot | Boxer | White | Use a vehicle / cycle on a road and contravene a local traffic order other than parking | None | Moseley Road | Moseley Road | Birmingham | Birmingham | NFA | No Independent Evidence Available | 52.4679402 | -1.881408 | ||
| 1281 | op-snap---monthly-publication-april-2025.pdf | 1280 | 2025-04 | Car | Peugeot | 3008 | Black | Use a vehicle / cycle on a road and contravene a local traffic order other than parking | None | Vicarage Road, Kings Heath | Vicarage Road, Kings Heath | Birmingham | Birmingham | Fixed Penalty | N/A | 52.4301512 | -1.8996659 |
Advanced export
JSON shape: default, array, newline-delimited, object
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);