Skip to main content

Open data

European Camera Index

The European Camera Index counts speed, red light, average speed and variable limit cameras per country, from the enforcement cameras drivers have reported to MapMetrics. This release is built from the snapshot of 2024-05-21: 108,008 unique cameras, of which 106,646 fall inside one of 106 countries and territories. The counts, the per-country GeoJSON files and the method below are free to reuse under CC BY 4.0.

Snapshot
2024-05-21
Unique cameras
108,008
Countries and territories
106
Licence
CC BY 4.0

Three findings

  • Italy holds the most cameras in Europe, 10,707 in the 2024-05-21 snapshot, ahead of the United Kingdom (5,806) and Germany (4,714).
  • Belgium has 884.8 cameras per 10,000 km², the highest density in the table after Monaco and San Marino, which together cover 63 km².
  • In 5 of the 11 countries we checked against OpenStreetMap (Switzerland, Austria, France, the Netherlands and Germany), two independently built camera counts land within 10 percent of each other.

Browse every camera on the speed camera map, or jump to the downloads.

What the index counts

Drivers report enforcement cameras to MapMetrics from the road. The index keeps four classes, named after what the device does. For the 106,646 cameras attributed to a country, the split is:

  • Fixed point speed cameras: 74,435
  • Red light cameras: 27,430
  • Average speed sections: 3,270
  • Variable limit cameras: 1,511

In the GeoJSON files each camera is one point with a stable reference, its class and, where a reporter recorded it, the enforced limit, the direction it faces and its active hours. The full field list is in catalog.json.

Cameras by European country

40 European countries, which together hold 42,762 of the 106,646 attributed cameras. Area is the land area used for the figure in our cartogram article, so the density column matches it. Select a column heading to sort.

Enforcement cameras per European country in the MapAtlas Camera Index, snapshot 2024-05-21. Select a column heading to sort.
Data
Italy10,7078,0432,5121520302,073354.5GeoJSON
United Kingdom5,8063,6701,044787305242,495239.4GeoJSON
Germany4,7143,5858561272357,588131.8GeoJSON
France3,8533,039743701551,69569.8GeoJSON
Belgium2,7011,1511,0424981030,528884.8GeoJSON
Sweden2,4552,453020450,29554.5GeoJSON
Spain2,1041,53240712144505,99041.6GeoJSON
Austria1,4571,205195203783,879173.7GeoJSON
Finland1,0891,0315800338,45532.2GeoJSON
Poland875540248861312,69628.0GeoJSON
Czechia85927198487378,871108.9GeoJSON
Netherlands84428650155241,543203.2GeoJSON
Switzerland63825537021141,291154.5GeoJSON
Belarus616613021207,60029.7GeoJSON
Croatia486466200056,59485.9GeoJSON
Lithuania37022322124165,30056.7GeoJSON
Hungary36635581293,03039.3GeoJSON
Greece3623115001131,95727.4GeoJSON
Ukraine348339810603,5505.8GeoJSON
Bosnia and Herzegovina316291250051,19761.7GeoJSON
Norway2902460422323,7829.0GeoJSON
Bulgaria27010316700110,87924.4GeoJSON
Republic of Serbia234162666077,47430.2GeoJSON
Moldova177601098033,85152.3GeoJSON
Portugal174152019392,21218.9GeoJSON
Latvia147109533064,58922.8GeoJSON
Slovenia14714430020,27372.5GeoJSON
Romania80532700238,3983.4GeoJSON
Estonia757320045,22716.6GeoJSON
Iceland48291900103,0004.7GeoJSON
Luxembourg37294402,586143.1GeoJSON
Malta2525000316791.1GeoJSON
Andorra2311390468491.5GeoJSON
Slovakia211801249,0354.3GeoJSON
Denmark201901042,9334.7GeoJSON
San Marino1313000612,131.1GeoJSON
Ireland6024069,8250.9GeoJSON
Monaco53110225,000.0GeoJSON
North Macedonia3201025,7131.2GeoJSON
Liechtenstein1010016062.5GeoJSON

Density divides cameras by land area and ignores road length and traffic. Microstates produce extreme values: Monaco has 5 cameras on 2 km².

Also in the downloads, without an area figure here: Russia (17,681), Turkey (1,710), Northern Cyprus (167) and Gibraltar (3).

Compared with OpenStreetMap

OpenStreetMap contributors map enforcement cameras as highway=speed_camera nodes. On 2026-08-27 we counted those nodes inside each country's admin_level=2 boundary with the Overpass API, for 11 European countries, and set them next to the driver-reported snapshot.

MapMetrics driver-reported cameras against OpenStreetMap speed camera nodes
CountryDriver reports (2024-05-21)OpenStreetMap nodes (2026-08-27)RatioWithin 10%
Italy10,7075,1502.08No
Belgium2,7011,5621.73No
United Kingdom5,8063,4531.68No
Poland8756311.39No
Switzerland6385951.07Yes
Austria1,4571,3981.04Yes
France3,8533,9280.98Yes
Netherlands8448750.96Yes
Germany4,7145,1920.91Yes
Spain2,1042,5530.82No
Portugal1742920.60No

OpenStreetMap counts © OpenStreetMap contributors, available under the Open Database Licence. They are shown for comparison and are not part of the CC BY 4.0 downloads.

The two counts come from different people using different tools: drivers reporting from the road, and mappers editing a public database. In Switzerland, Austria, France, the Netherlands and Germany they land within 10 percent of each other, a useful cross-check for data of this kind. The larger gaps run toward the driver reports in Italy, Belgium, the United Kingdom and Poland, and toward OpenStreetMap in Spain and Portugal.

The snapshot is from May 2024 and the OpenStreetMap counts from August 2026, and neither source contains the other. A ratio near 1 therefore means similar coverage; matching individual cameras would need a point by point comparison, which this page does not attempt. The full comparison, and how cameras are tagged in OpenStreetMap, is in our article on traffic enforcement cameras.

Method

Source. Four collections of driver reports (fixed, section, red light and variable limit), exported from the MapMetrics database. Together they hold 147,864 rows.

Deduplication. The collections are merged and deduplicated on rounded coordinates, which leaves 108,008 unique cameras. It matters most for the variable limit collection, which stores each camera once per speed value: 38,250 rows for 1,528 cameras.

Country attribution. Each camera is matched to a country by point in polygon against ISO 3166-1 country boundaries (the datasets/geo-countries file). 1,362 points fall outside every polygon, mostly on coastlines, and are left out, which gives 106,646 cameras in 106 countries and territories. An earlier pass matched a 107th polygon, the UN buffer zone in Cyprus, which is not a country, so the published files report 106. The catalog row with code CY is labelled Northern Cyprus, following the boundary file, and there is no separate row for the Republic of Cyprus.

OpenStreetMap counts. Nodes tagged highway=speed_camera inside each country's admin_level=2 boundary, counted with the Overpass API on 2026-08-27. Bounding box counts were discarded: a box around France returned 11,170 nodes against 3,928 inside the actual border.

Known quirks in the source

  • Every record carries the same date, 2024-05-21. It is the export timestamp, so the counts describe what the snapshot held, and no camera has its own survey date.
  • The source schema has a field for confirming that a camera is still there. It was never filled in, so no camera in the index is marked as confirmed.
  • About 80 records carry the literal text "Error: 429" or "Error: 504" in the heading field of the source export, left over from an earlier geocoding pass.

What these numbers cannot tell you

  • Reporting and enforcement are mixed together. A country with few cameras in the index may be lightly enforced or lightly reported (Ireland has 6 and Denmark has 20), and this data alone cannot separate the two.
  • Mobile enforcement is largely missing. A report of a van that has since driven away describes a moment rather than a place.
  • No approval status. Nothing in the index says whether a device is on a national approved list or calibrated. National registries hold that.
  • Age. The snapshot is from May 2024. Cameras installed since then are missing, and cameras removed since then may still be counted.

Download the data

  • counts-2024-05-21.csv

    106 rows, one per country or territory: camera total and the four classes. The file name carries the snapshot date, so a cited link keeps pointing at these numbers.

  • catalog.json

    Dataset metadata, class and field definitions, and the same counts.

Camera points come as one GeoJSON file per country. The European files are linked from the table above and here; files for the other 62 countries and territories are in the list below.

Other countries and territories (62)

Licence

CC BY 4.0, attribute: MapAtlas / MapMetrics driver reports. You may copy, adapt and use the data commercially, with credit and a link to this page.

Suggested citation

MapAtlas (2026). European Camera Index, MapMetrics driver reports, snapshot 2024-05-21. https://mapatlas.eu/camera-index. CC BY 4.0.

Files released 2026-08-27. Page last updated 2026-09-27. Data snapshot 2024-05-21.

Related