# Geregistreerde misdrijven per buurt

Alle misdrijven die de politie registreert, in 59 soorten, per buurt en per maand. Van fietsendiefstal tot woninginbraak.

- Uitgever: Politie, Centraal Bureau voor de Statistiek
- Gebied: Nederland · Laagste detail: buurt
- Periode: 2012 – 2026 · Ververst: maandelijks
- Toegang: Open · Licentie: CC BY 4.0
- Koppelsleutels: buurtcode (BU), gemeentecode (GM)
- Status: ok (2026-10-15) · Geregistreerde misdrijven; soort misdrijf, wijk, buurt, maandcijfers · nieuwste periode: 2026 september
- URL: https://data.politie.nl

## Wat kun je ermee?
- **Fietsendiefstal per buurt.** Kies één soort misdrijf en maak een kaart. Bij fietsendiefstal geldt: veel mensen doen geen aangifte.
- **Woninginbraak voor en na de klok.** Inbraken nemen toe als het eerder donker wordt. Vergelijk de maanden rond de wintertijd over meerdere jaren.

## Interessante koppelingen
- Waar is de kans op inbraak het grootst per woning? → [cbs-kwb](https://www.opendataindex.nl/bron/cbs-kwb.md) via buurtcode (BU). Deel inbraken door het aantal woningen uit de kerncijfers, niet door inwoners.

## Vergelijkbare bronnen
- [politie-overlast](https://www.opendataindex.nl/bron/politie-overlast.md): Overlast in plaats van misdrijven.
- [Misdaad in kaart (politie.nl)](https://www.politie.nl/mijn-buurt/misdaad-in-kaart): Dezelfde cijfers als kaart op de site van de politie, zonder download.

## API (OData v3)

- Basis: https://dataderden.cbs.nl/ODataApi/OData/47022NED
- Toegang: Geen sleutel of account; de beschrijving en onze aanroep werken anoniem. (getest)
- Formaten: JSON, Atom/XML
- Omvang: 193174614 rijen (cellen) in TypedDataSet (getest)
- Filteren: OData-expressies in $filter, sleutels tussen enkele aanhalingstekens; eq, ne, gt, ge, lt, le, and, or, substringof(), startswith()

### Endpoints
- `GET /TableInfos`: titel, samenvatting, periode en wijzigingsdatum van de tabel
- `GET /UntypedDataSet`: de cijfers, alle waarden als tekst
- `GET /TypedDataSet`: de cijfers, met getallen als getal
- `GET /DataProperties`: alle kolommen: dimensies en onderwerpen met eenheid
- `GET /CategoryGroups`: groepering van categorieën
- `GET /SoortMisdrijf`: codes en namen van de dimensie SoortMisdrijf
- `GET /WijkenEnBuurten`: codes en namen van de dimensie WijkenEnBuurten
- `GET /Perioden`: codes en namen van de dimensie Perioden

### Parameters
- `$filter`: rijen kiezen, bv. WijkenEnBuurten eq 'GM0363    ' (platform)
- `$select`: alleen deze kolommen (platform)
- `$top / $skip`: pagineren (platform)
- `$orderby`: sorteren (platform)
- `$format`: json of atom (platform)
- `$count`: achter een pad: alleen het aantal (platform)

### Dimensies
- `SoortMisdrijf` (59 codes): '0.0.0 ' = Totaal misdrijven; '1.1.1 ' = 1.1.1 Diefstal/inbraak woning; '1.1.2 ' = 1.1.2 Diefstal/inbraak box/garage/schuur
- `WijkenEnBuurten` (18498 codes): 'NL00      ' = Nederland; 'GM1680    ' = Aa en Hunze; 'WK168000  ' = Wijk 00 Annen
- `Perioden` (177 codes): '2012MM01' = 2012 januari; '2012MM02' = 2012 februari; '2012MM03' = 2012 maart

### Velden (1)
`GeregistreerdeMisdrijven_1` long

### Limieten en valkuilen
- Maximaal 10.000 rijen per verzoek; pagineer met $skip. De tabel heeft 193 miljoen rijen (59 soorten × 18.498 gebieden × 177 maanden): filter altijd op gebied en soort. (getest)
- Sleutels zijn met spaties aangevuld: gebieden tot 10 tekens ('GM0363    ', 'WK0363AA  ', buurten zoals 'BU0363AA01' zijn al 10), soorten tot 6 ('1.1.1 ', '0.0.0 ' = totaal). Zonder spaties krijg je een lege lijst, geen fout. startswith() werkt zonder opvulling. (getest)
- $filter werkt alleen op de dimensies (WijkenEnBuurten, SoortMisdrijf, Perioden). Een filter op GeregistreerdeMisdrijven_1 wordt in de CBS OData v3-API stil genegeerd; ook $orderby doet niets. (getest)
- Het Feed-endpoint (/ODataFeed/OData/47022NED, Atom-XML) past alleen het eerste $filter-predicaat toe en negeert de rest zonder melding. Gebruik /ODataApi/ met TypedDataSet. (ervaring)
- Nieuwe maand rond de 15e (september 2026 stond er op 15 oktober). Oude maanden worden met terugwerkende kracht bijgesteld: laad de hele reeks opnieuw. Alle jaren staan in de wijk- en buurtindeling van 1 januari 2025. (ervaring)
- Pogingen tellen mee, en sinds juli 2018 telt de politie bij samenloop elk delict apart (daarvoor alleen het zwaarste). Die trendbreuk staat in TableInfos.ShortDescription. (uit de beschrijving)
- Verwante tabellen in dezelfde catalogus (dataderden.cbs.nl/ODataCatalog/Tables?$filter=Catalog eq 'Politie'): 47018NED (zelfde, jaarcijfers), 47013NED (per gemeente, met aangiften), 47015NED (per plaats), 47025NED (ophelderingen per regionale eenheid). (getest)
- dataderden.cbs.nl heeft geen robots.txt (404) en staat niet in de nieuwe CBS-API (datasets.cbs.nl kent alleen de catalogus CBS). (getest)

### Voorbeeld
```
https://dataderden.cbs.nl/ODataApi/OData/47022NED/TypedDataSet?$filter=WijkenEnBuurten%20eq%20'GM0363%20%20%20%20'%20and%20SoortMisdrijf%20eq%20'1.1.1%20'%20and%20startswith(Perioden,'2026')&$select=Perioden,GeregistreerdeMisdrijven_1
```

## Wat je ermee kunt bouwen
- [Buurtmonitor veiligheid: overlast en misdrijven per buurt](https://www.opendataindex.nl/bouwen/buurtmonitor-veiligheid.md): Een dashboard dat voor elke buurt in je gemeente laat zien hoeveel overlast en misdrijven de politie registreert, per 1.000 inwoners en door de jaren heen, met een kaart en een vergelijking met heel Nederland.


## Voorbeelden met echte cijfers (11)

Per voorbeeld de bevinding, de peildatum en de aanroep die precies deze cijfers ophaalt.

- **Diefstallen van auto's en andere motorvoertuigen: 8.600 misdrijven per jaar in 2025, 47% minder dan in 2012** (2025). Tabel 47022NED. [Voorbeeld](https://www.opendataindex.nl/voorbeeld/derden-autodiefstal)
  - `https://dataderden.cbs.nl/ODataApi/OData/47022NED/TypedDataSet?$filter=SoortMisdrijf%20eq%20'1.2.2%20'%20and%20WijkenEnBuurten%20eq%20'NL00%20%20%20%20%20%20'%20and%20substringof('MM'%2CPerioden)&$select=Perioden,GeregistreerdeMisdrijven_1`
- **Geregistreerde bedreigingen: 26,1 duizend per jaar in 2025, 32% minder dan in 2012** (2025). Tabel 47022NED. [Voorbeeld](https://www.opendataindex.nl/voorbeeld/derden-bedreiging)
  - `https://dataderden.cbs.nl/ODataApi/OData/47022NED/TypedDataSet?$filter=SoortMisdrijf%20eq%20'1.4.4%20'%20and%20WijkenEnBuurten%20eq%20'NL00%20%20%20%20%20%20'%20and%20substringof('MM'%2CPerioden)&$select=Perioden,GeregistreerdeMisdrijven_1`
- **Geregistreerde cybercrime: 5.718 misdrijven per jaar in 2025, 27% meer dan in 2012** (2025). Tabel 47022NED. [Voorbeeld](https://www.opendataindex.nl/voorbeeld/derden-cybercrime)
  - `https://dataderden.cbs.nl/ODataApi/OData/47022NED/TypedDataSet?$filter=SoortMisdrijf%20eq%20'3.7.4%20'%20and%20WijkenEnBuurten%20eq%20'NL00%20%20%20%20%20%20'%20and%20substringof('MM'%2CPerioden)&$select=Perioden,GeregistreerdeMisdrijven_1`
- **Geregistreerde mishandelingen: 42,2 duizend per jaar in 2025, 25% minder dan in 2012** (2025). Tabel 47022NED. [Voorbeeld](https://www.opendataindex.nl/voorbeeld/derden-mishandeling)
  - `https://dataderden.cbs.nl/ODataApi/OData/47022NED/TypedDataSet?$filter=SoortMisdrijf%20eq%20'1.4.5%20'%20and%20WijkenEnBuurten%20eq%20'NL00%20%20%20%20%20%20'%20and%20substringof('MM'%2CPerioden)&$select=Perioden,GeregistreerdeMisdrijven_1`
- **Geregistreerde overvallen: 537 misdrijven per jaar in 2025, 74% minder dan in 2012** (2025). Tabel 47022NED. [Voorbeeld](https://www.opendataindex.nl/voorbeeld/derden-overvallen)
  - `https://dataderden.cbs.nl/ODataApi/OData/47022NED/TypedDataSet?$filter=SoortMisdrijf%20eq%20'1.4.7%20'%20and%20WijkenEnBuurten%20eq%20'NL00%20%20%20%20%20%20'%20and%20substringof('MM'%2CPerioden)&$select=Perioden,GeregistreerdeMisdrijven_1`
- **Geregistreerde straatroven: 2.915 misdrijven per jaar in 2025, 63% minder dan in 2012** (2025). Tabel 47022NED. [Voorbeeld](https://www.opendataindex.nl/voorbeeld/derden-straatroof)
  - `https://dataderden.cbs.nl/ODataApi/OData/47022NED/TypedDataSet?$filter=SoortMisdrijf%20eq%20'1.4.6%20'%20and%20WijkenEnBuurten%20eq%20'NL00%20%20%20%20%20%20'%20and%20substringof('MM'%2CPerioden)&$select=Perioden,GeregistreerdeMisdrijven_1`
- **Geregistreerde vernielingen: 71 duizend per jaar in 2025, 47% minder dan in 2012** (2025). Tabel 47022NED. [Voorbeeld](https://www.opendataindex.nl/voorbeeld/derden-vernieling)
  - `https://dataderden.cbs.nl/ODataApi/OData/47022NED/TypedDataSet?$filter=SoortMisdrijf%20eq%20'2.2.1%20'%20and%20WijkenEnBuurten%20eq%20'NL00%20%20%20%20%20%20'%20and%20substringof('MM'%2CPerioden)&$select=Perioden,GeregistreerdeMisdrijven_1`
- **Brandstichtingen en ontploffingen: gemiddeld het hoogst in januari, het laagst in februari** (september 2026). Tabel 47022NED. [Voorbeeld](https://www.opendataindex.nl/voorbeeld/kalender-brand-ontploffing)
  - `https://dataderden.cbs.nl/ODataApi/OData/47022NED/TypedDataSet?$filter=SoortMisdrijf%20eq%20'1.6.1%20'%20and%20WijkenEnBuurten%20eq%20'NL00%20%20%20%20%20%20'%20and%20substringof('MM'%2CPerioden)&$select=Perioden,GeregistreerdeMisdrijven_1`
- **Diefstallen van fietsen en brommers: gemiddeld het hoogst in september, het laagst in februari** (september 2026). Tabel 47022NED. [Voorbeeld](https://www.opendataindex.nl/voorbeeld/kalender-fietsendiefstal)
  - `https://dataderden.cbs.nl/ODataApi/OData/47022NED/TypedDataSet?$filter=SoortMisdrijf%20eq%20'1.2.3%20'%20and%20WijkenEnBuurten%20eq%20'NL00%20%20%20%20%20%20'%20and%20substringof('MM'%2CPerioden)&$select=Perioden,GeregistreerdeMisdrijven_1`
- **Vernielingen: gemiddeld het hoogst in januari, het laagst in augustus** (september 2026). Tabel 47022NED. [Voorbeeld](https://www.opendataindex.nl/voorbeeld/kalender-vernieling)
  - `https://dataderden.cbs.nl/ODataApi/OData/47022NED/TypedDataSet?$filter=SoortMisdrijf%20eq%20'2.2.1%20'%20and%20WijkenEnBuurten%20eq%20'NL00%20%20%20%20%20%20'%20and%20substringof('MM'%2CPerioden)&$select=Perioden,GeregistreerdeMisdrijven_1`
- **Woninginbraken: gemiddeld het hoogst in december, het laagst in juni** (september 2026). Tabel 47022NED. [Voorbeeld](https://www.opendataindex.nl/voorbeeld/kalender-woninginbraak)
  - `https://dataderden.cbs.nl/ODataApi/OData/47022NED/TypedDataSet?$filter=SoortMisdrijf%20eq%20'1.1.1%20'%20and%20WijkenEnBuurten%20eq%20'NL00%20%20%20%20%20%20'%20and%20substringof('MM'%2CPerioden)&$select=Perioden,GeregistreerdeMisdrijven_1`
