How many cars in my municipality are electric?
An exact count is not possible: CBS and RDW publish no open count of electric cars per municipality, and the RDW vehicle register has no addresses. Nationally it is known: on 1 January 2026, 2,023,337 of the 9,415,540 passenger cars had electricity as their main fuel (21.5%, hybrids included, CBS 85237NED), but per province that table only gives the total. Per municipality and neighbourhood, the 2026 key figures split privately owned cars only into 'petrol' and 'other': nationally 22.1% do not run on petrol, from about 15% in Aalten to 35% in Rozendaal. Diesel is included there too, and the 1.15 million cars registered to companies are missing.
Short answerAcross the Netherlands, more than one in five passenger cars runs (partly) on electricity: 21.5% on 1 January 2026, against 3.7% in 2019. For your municipality the closest open figure is the share of privately owned cars not running on petrol; in Utrecht that is 24.4%.
Privately owned cars not running on petrol: highest in Rozendaal (35%), lowest in Aalten and 1 other municipality (15%)
Privately owned cars not running on petrol per municipality, 2026, in percent of privately owned cars. Netherlands as a whole: 22. 342 municipalities with a figure.
Step by step
- 1
The key figures count cars per neighbourhood by fuel.
- 2
For make, model and year: the RDW vehicle register (without addresses).
Join on buurtcode; kenteken
Start with AI
Paste this prompt into Claude or ChatGPT. It names the real endpoints, the join key and the pitfalls, so the assistant writes usable code straight away. Always check the result against the source itself.
Build a web page with a map of Dutch municipalities showing what share of privately owned cars does not run on petrol, with the national growth of electric cars below it.
Municipalities: CBS key figures for districts and neighbourhoods 2026, OData v3, no key, CORS is open:
https://opendata.cbs.nl/ODataApi/OData/86358NED/TypedDataSet?$filter=substringof('GM',WijkenEnBuurten)&$select=WijkenEnBuurten,Gemeentenaam_1,PersonenautoSParticulieren_105,PersonenautoSParticulierenOverige_107&$format=json
What you need to know:
- Share = PersonenautoSParticulierenOverige_107 / PersonenautoSParticulieren_105. 'Other' is diesel, LPG, battery electric, plug-in hybrid, hybrid, hydrogen and the rest. So don't call it 'electric'.
- Field numbers differ per edition (in 86165NED, the 2025 key figures, they end in _104 and _106). Look them up via /DataProperties.
- Keys are padded with spaces to 10 characters: 'GM0344 ', 'NL00 '. Municipality names have trailing spaces too.
- Boundaries: the municipal boundaries of the CBS district and neighbourhood map via PDOK, joined on the GM code.
National: CBS 85237NED with $filter=Bouwjaar eq 'T001378' (all construction years) and the fields Perioden, TotaalNederland_1 and Elektriciteit_18 (as of 1 January, from 2019). Electricity is the main fuel; hybrids are included. Per province this table only has the total number of cars, not the fuel.
What is not possible: counting electric cars per municipality. RDW (opendata.rdw.nl, dataset m9d7-ebf2, fuel in 8ys7-d773, joinable on licence plate) has make and fuel per plate, but no address. Cars registered to companies are not in the key figures.
Output: a map with a legend in percent and a tooltip with name, count and share, the national figure next to it, and below the map a line chart of the national electric share from 2019 to now. Put the definitions as a source line under both charts.
Try it yourself
A small script that answers the core of the question. Needs: Python 3.10+ en requests. Tested on 2026-10-15; below is the real output of that run.
# Hoeveel auto's rijden er elektrisch in mijn gemeente? Wat open data wél kan zeggen:
# (1) landelijk het aandeel elektrisch (incl. hybrides) per 1 januari, CBS 85237NED;
# (2) per gemeente alleen 'benzine' en 'overige brandstof' bij auto's van particulieren, CBS 86358NED.
import requests
UA = {"User-Agent": "opendataindex-voorbeeld/0.2 (+https://opendataindex.nl)"}
CBS = "https://opendata.cbs.nl/ODataApi/OData"
GEMEENTE = "GM0344" # Utrecht
def rijen(tabel, **params):
return requests.get(f"{CBS}/{tabel}/TypedDataSet", params={**params, "$format": "json"},
headers=UA, timeout=60).json()["value"]
print("Nederland, personenauto's op 1 januari (CBS 85237NED):")
for r in rijen("85237NED", **{"$filter": "Bouwjaar eq 'T001378'", # totaal alle bouwjaren
"$select": "Perioden,TotaalNederland_1,Elektriciteit_18"}):
tot, el = r["TotaalNederland_1"], r["Elektriciteit_18"]
print(f" {r['Perioden'][:4]}: {el:>9,} van {tot:>9,} elektrisch ({el / tot:5.1%})")
print(" (Elektriciteit = hoofdbrandstof; hybrides tellen mee. Per provincie geeft de tabel alleen het totaal.)\n")
# Kerncijfers 2026: veldnamen hebben elk jaar een ander volgnummer (_105, _106, ...): kijk in DataProperties.
# Sleutels zijn aangevuld met spaties tot 10 tekens: 'GM0344 ', 'NL00 '.
velden = "WijkenEnBuurten,Gemeentenaam_1,PersonenautoSParticulieren_105,PersonenautoSParticulierenOverige_107"
for code in ("NL00", GEMEENTE):
r = rijen("86358NED", **{"$filter": f"WijkenEnBuurten eq '{code:<10}'", "$select": velden})[0]
tot, ov = r["PersonenautoSParticulieren_105"], r["PersonenautoSParticulierenOverige_107"]
print(f"{r['Gemeentenaam_1'].strip() or 'Nederland':10} particuliere auto's {tot:>9,}, niet op benzine {ov:>9,} ({ov / tot:5.1%})")
print("\n'Niet op benzine' = diesel, lpg, elektrisch, hybride en de rest samen. CBS en RDW publiceren")
print("geen open telling van elektrische auto's per gemeente; het RDW-register heeft geen adres.")
Nederland, personenauto's op 1 januari (CBS 85237NED): 2019: 314,311 van 8,442,982 elektrisch ( 3.7%) 2020: 401,917 van 8,584,391 elektrisch ( 4.7%) 2021: 526,122 van 8,686,419 elektrisch ( 6.1%) 2022: 724,986 van 8,827,709 elektrisch ( 8.2%) 2023: 957,886 van 8,917,107 elektrisch (10.7%) 2024: 1,254,510 van 9,067,393 elektrisch (13.8%) 2025: 1,621,141 van 9,247,810 elektrisch (17.5%) 2026: 2,023,337 van 9,415,540 elektrisch (21.5%) (Elektriciteit = hoofdbrandstof; hybrides tellen mee. Per provincie geeft de tabel alleen het totaal.) Nederland particuliere auto's 7,924,682, niet op benzine 1,747,986 (22.1%) Utrecht particuliere auto's 109,445, niet op benzine 26,699 (24.4%) 'Niet op benzine' = diesel, lpg, elektrisch, hybride en de rest samen. CBS en RDW publiceren geen open telling van elektrische auto's per gemeente; het RDW-register heeft geen adres.
The sources2

Key figures for districts and neighbourhoods
Over a hundred figures per neighbourhood: residents by age, households, property values, income, benefits, cars and distance to amenities. A new table every year.

RDW registered vehicles
Data on every Dutch licence plate: make, model, fuel, weight and inspection expiry. No personal data.
How the sources fit together
- Key figures for districts and neighbourhoodsRDW registered vehiclesvia
geen directe sleutelThe key figures count cars per neighbourhood by fuel; RDW gives the national picture by make and year.
- RDW registered vehiclesKey figures for districts and neighbourhoodsvia
geen directe sleutelRDW has no address; for location use CBS car counts per neighbourhood.
More examples with this data
Electric and hybrid passenger cars: 2.02 million in 2026, 6.4 times as much as in 2019
Average household size: highest in Urk (3.2 people), lowest in Wageningen and 2 other municipalities (1.6 people)
Homes without a natural gas connection: highest in Purmerend (67%), lowest in Simpelveld and 3 other municipalities (2%)
Electricity an average home feeds back into the grid: highest in Tubbergen (2,120 kWh), lowest in Amsterdam (140 kWh)
Also in the indexes
Datasets from data.overheid.nl, the National Georegister, CBS, Eurostat and city portals that fit this question.
- Data, code and results behind the journal article: "Integrating Vehicle to Grid into Shared Electric Vehicle Relocation under Locational Congestion Prices" (under review). Alvaro Menendez Agudin, Cas Oudijk, Pavol Bauer, Gautham Ram Chandra Mouli4TU.ResearchData
- Oplaadpunten elektrische voertuigendataportaal Eindhoven
- Oplaadpunten elektrische voertuigenEindhoven (gemeente)
- Supplementary material for the paper "Personalised Electric Vehicle Acoustics with Generative AI: Dynamic Sonification and User Acceptance Study"4TU.ResearchData
- Supplementary data for the paper 'Exterior sounds for electric and automated vehicles: Loud is effective'4TU.ResearchData
- TU/e Microscopic Energy Consumption PRediction tOol 0.1 (TU/e MECPRO 0.1)4TU.ResearchData
- Open Data RDW: Gekentekende_voertuigen_brandstofRDW
- Data, code and results behind the journal article "Electric Vehicles as Mobile Flexibility Resources: Alleviating Grid Congestion with Location-Aware Vehicle-to-Grid" (under review). Alvaro Menendez-Agudin , Pavol Bauer Gautham Ram Chandra Mouli4TU.ResearchData
- Electric Vehicle Charging Session Data of Large Office Parking Lot4TU.ResearchData
- SlimPark electric vehicle charging data 2022-20234TU.ResearchData
Other worked-out questions
- Is there more nuisance in my neighbourhood than last year?3 sources
- How much grant money does a foundation in Amsterdam receive?3 sources
- How much warmer has it become?2 sources
- How clean is the air on my street?3 sources
- What does my area look like from space?3 sources
- Did house prices rise faster here than elsewhere in Europe?2 sources