Een pagina die per gemeente laat zien welk deel van de personenauto's volledig elektrisch is, waar de gemeente staat tussen de 342 andere, en hoe snel het landelijk gaat, uit de dagelijkse RDW-telling per postcode en de jaarreeks van het CBS.
De MCP-server van Open Data Index staat aan in je chat. Zo leest de assistent dit project en de bronnen zelf.
Jij plakt de prompt van dit project
Bouw een kleine webpagina (Next.js, of één HTML-bestand met een Node 20-script dat de data klaarzet) die per gemeente laat zien welk deel van de personenauto's volledig elektrisch is en waar de gemeente staat.
De assistent haalt op bij Open Data Index
geef_project("elektrisch-rijden-gemeente")
geef_bron("rdw-voertuigen")
geef_bron("cbs-statline")
De assistent
Ik heb het project, de geteste aanroepen en de valkuilen. Ik bouw een analyse met RDW gekentekende voertuigen en CBS StatLine. Zo kan het eruitzien:
Dit bouw je zelf. Kopieer de prompt naar Claude, ChatGPT of Cursor, met de MCP-server aan, of volg de stappen hieronder.
Bijna één op de tien Utrechtse auto's rijdt op stroom
Dataredactie · 16 oktober 2026
In Utrecht staan 12.581 volledig elektrische personenauto’s op naam, van de 129.100. Dat is 9,7%: plek 12 van 342 gemeenten. Landelijk is het 8,3%.
Tel je hybrides mee, dan groeide het aandeel stekkerauto’s sinds 2019 van 3,7% naar 21,5%.
Aandeel volledig elektrische personenauto's, per gemeente
NL 8,3%
1Wierden*21,2%
2Tynaarlo14,2%
3Amstelveen11,0%
4Smallingerland10,9%
5Haarlemmermeer10,9%
⋯
12Utrecht9,7%
⋯
340Ameland2,5%
341Vlieland2,4%
342Terschelling1,9%
* Eén postcode (7468) heeft er 4.104, vermoedelijk een bedrijf. Zonder zeven lease-postcodes is het landelijk 6,3%. Bron: RDW.
Mockup
Dit is een mockup, geen werkende versie, met de cijfers uit onze proefdraai van 16 oktober 2026 (RDW-kentekens van die dag, CBS voor de groei sinds 2019). De MCP-server zet je aan met het adres op Voor AI.
Voor wie
Gemeenteraadsleden en ambtenaren die de energietransitie volgen, lokale journalisten, en iedereen die wil weten of zijn gemeente voor- of achterloopt.
Wat je krijgt
Een pagina met een keuzemenu voor de gemeente. Je ziet het aandeel volledig elektrische personenauto's, de plek tussen alle gemeenten, de postcodes met de meeste elektrische auto's (zodat je bedrijfsadressen herkent) en een lijn met de landelijke groei sinds 2019. Met de uitbreiding (maandelijkse momentopname) groeit er per gemeente een eigen reeks.
Proefdraai op 16 oktober 2026: de RDW telde 798.322 volledig elektrische personenauto's op 9.564.492 (8,3%). Zeven postcodes met elk meer dan 20.000 auto's (vermoedelijk lease en verhuur) hadden er samen 223.943; zonder die postcodes was het 6,3%. Utrecht kwam uit op 12.581 van 129.100 personenauto's (9,7%), plek 12 van 342. Hoogst: Wierden 21,2%, maar daar staat één postcode (7468) met 4.104 elektrische auto's op 11.505, vermoedelijk een bedrijf. Laagst: Terschelling 1,9%. Landelijk groeide het deel personenauto's met elektriciteit als hoofdbrandstof (hybrides meegeteld, CBS) van 3,7% op 1 januari 2019 naar 21,5% op 1 januari 2026.
Elektrische en hybride personenauto's: 2,02 miljoen in 2026, 6,4 keer zo veel als in 2019
Elektrische en hybride personenauto's, 2019 – 2026, in miljoen. Dat is het hoogste punt in de reeks.
Bron: CBS, tabel 85237NED (Personenauto's actief; voertuigkenmerken, regio's, 1 januari) · opgehaald 25 oktober 2026 · selectie: Bouwjaar: Totaal alle bouwjarenOpen de tabel Los blok
Zo zou je kunnen starten5 stappen
1
Tel de auto's per brandstof
De RDW-tabel Brandstoffen_op_PC4 (8wbe-pu7d) telt alle voertuigen per viercijferige postcode, voertuigsoort en brandstof, en wordt dagelijks bijgewerkt. Brandstof is een code: B benzine, D diesel, E volledig elektrisch, BE benzine plus elektrisch (hybride, ook plug-in), BG benzine plus lpg. SoQL rekent op de server: $select met sum(aantal), $where en $group. Getallen komen als tekst terug.
De postcode is het adres van de houder. Lease- en verhuurbedrijven hebben tienduizenden auto's op één adres, en juist veel elektrische. Postcode 1114 alleen al heeft 59.943 elektrische personenauto's. Haal die postcodes eruit (in het script: meer dan 20.000 personenauto's) en laat bij elke gemeente de grootste postcodes zien, want ook kleinere bedrijfsadressen trekken het beeld scheef.
De RDW kent geen gemeente. CBS-tabel 85236NED (motorvoertuigen per postcode, 2019 tot en met 2023) heeft per postcode een kolom Gemeentecode_22. Dat is de indeling van 2023, met spaties aangevuld (' 363'): eerst trimmen, dan aanvullen met nullen tot 0363. 4.678 postcodes, waarvan 89 zonder gemeente. Gemeenten die na 2023 zijn samengevoegd, moet je zelf samenvoegen.
De RDW-tabel is een momentopname zonder geschiedenis. Voor 'hoe snel' gebruik je de CBS-reeks 85237NED: actieve personenauto's op 1 januari, 2019 tot en met 2026, met Bouwjaar 'T001378' (alle bouwjaren). Let op de definitie: bij het CBS telt 'Elektriciteit' ook hybrides mee (21,5% in 2026), bij de RDW is E alleen volledig elektrisch (8,3%). Vergelijk die twee getallen niet met elkaar.
Per gemeente bestaat er geen open reeks van elektrische auto's. Die maak je zelf: draai het script elke eerste van de maand (cron of GitHub Actions) en bewaar per gemeente het aantal E en het totaal met de datum. Na een jaar heb je twaalf punten en zie je welke gemeenten het snelst groeien. Bewaar ook de ruwe postcodetelling, zodat je de lease-drempel later kunt aanpassen.
Zet het aantal elektrische auto's per gemeente naast het aantal publieke laadpunten uit het NDW-bestand (zie het project laadpalen-per-buurt).
Laat AI het bouwen
Plak deze prompt in Claude, ChatGPT, Cursor of Lovable. Hij noemt de echte endpoints, de koppelsleutels en de valkuilen, zodat de assistent meteen werkende code schrijft. Controleer de uitkomst altijd met de bron zelf.
Bouw een kleine webpagina (Next.js, of één HTML-bestand met een Node 20-script dat de data klaarzet) die per gemeente laat zien welk deel van de personenauto's volledig elektrisch is en waar de gemeente staat.
Data, open en zonder sleutel:
- RDW Brandstoffen_op_PC4 (Socrata SoQL, dagelijks): https://opendata.rdw.nl/resource/8wbe-pu7d.json?$select=postcode,brandstof,sum(aantal) AS n&$where=voertuigsoort='Personenauto'&$group=postcode,brandstof&$limit=50000 (18.164 rijen, ~0,9 MB)
- Postcode naar gemeente (CBS 85236NED, OData v3): https://opendata.cbs.nl/ODataApi/OData/85236NED/TypedDataSet?$format=json&$filter=Perioden eq '2023JJ00' and startswith(RegioS,'PC')&$select=RegioS,Gemeentecode_22
- Gemeentenamen: https://opendata.cbs.nl/ODataApi/OData/85236NED/RegioS?$format=json&$filter=startswith(Key,'GM')
- Landelijke reeks (CBS 85237NED): https://opendata.cbs.nl/ODataApi/OData/85237NED/TypedDataSet?$format=json&$filter=Bouwjaar eq 'T001378'&$select=Perioden,Totaal_14,Elektriciteit_18
Wat je moet weten:
- RDW-brandstofcodes: B benzine, D diesel, E volledig elektrisch, BE benzine-hybride, DE diesel-hybride, BG benzine plus lpg. Getallen komen als tekst: omzetten.
- De postcode is het adres van de houder, ook van lease- en verhuurbedrijven (1114: 59.943 elektrische auto's). Sluit postcodes met meer dan 20.000 personenauto's uit en toon per gemeente de drie postcodes met de meeste elektrische auto's, zodat lezers bedrijfsadressen zelf zien.
- CBS Gemeentecode_22 is met spaties aangevuld (' 344'): trimmen en met nullen aanvullen tot vier cijfers. Het is de indeling van 2023.
- CBS 'Elektriciteit' telt hybrides mee; RDW 'E' niet. Laat ze nooit als hetzelfde getal zien.
- CBS geeft soms 500 of 503: opnieuw proberen met oplopende wachttijd. Bij Socrata: $limit hoog zetten, standaard is 1.000 rijen.
- Bewaar elke maand een momentopname (datum, gemeente, E, totaal) in een JSON- of SQLite-bestand; zo ontstaat een reeks per gemeente.
Uitkomst: een keuzemenu met alle gemeenten; daaronder een groot percentage (volledig elektrisch), 'plek X van 342', een staafje met het landelijk gemiddelde ernaast, de drie grootste postcodes met hun aandeel, en een lijngrafiek van de landelijke reeks 2019 tot 2026 (met de uitleg dat hybrides meetellen). Een tabel met alle gemeenten, sorteerbaar. Onderaan de peildata: RDW (datum van ophalen), CBS 1 januari 2026, postcode-indeling 2023.
De kern van het project in een klein script. Nodig: Node 20+ (fetch ingebouwd), geen pakketten. Getest op 2026-10-16; hieronder de echte uitvoer van die proefdraai.
// Hoe elektrisch rijdt jouw gemeente? RDW (auto's per postcode en brandstof, dagelijks) + CBS (postcode -> gemeente,
// landelijke reeks 2019-2026). Node 20+, geen pakketten nodig.
const UA = { "User-Agent": "mijn-ev-monitor/1.0 (+jij@voorbeeld.nl)" };
const GM = "0344"; // Utrecht; jouw gemeentecode
const LEASE = 20000; // postcodes met meer personenauto's dan dit zijn adressen van lease- en verhuurbedrijven
async function json(url, pogingen = 4) { // CBS geeft soms een 500 of 503: even wachten en opnieuw
for (let i = 1; ; i++) { const r = await fetch(url, { headers: UA }); if (r.ok) return r.json();
if (i >= pogingen) throw new Error(`${r.status} ${url}`); await new Promise((ok) => setTimeout(ok, 10000 * i)); } }
const CBS = "https://opendata.cbs.nl/ODataApi/OData";
// 1. Landelijke reeks: actieve personenauto's op 1 januari (CBS 85237NED). Let op: 'Elektriciteit' telt hybrides mee.
const reeks = (await json(`${CBS}/85237NED/TypedDataSet?$format=json&$filter=Bouwjaar eq 'T001378'&$select=Perioden,Totaal_14,Elektriciteit_18`)).value;
console.log("Nederland, 1 januari, personenauto's met elektriciteit als (hoofd)brandstof, incl. hybrides (CBS):");
console.log(" " + reeks.map((r) => `${r.Perioden.slice(0, 4)} ${(100 * r.Elektriciteit_18 / r.Totaal_14).toFixed(1)}%`).join(", "));
// 2. Postcode -> gemeente (CBS 85236NED, indeling 2023; de code is met spaties aangevuld: ' 344')
const pc = (await json(`${CBS}/85236NED/TypedDataSet?$format=json&$filter=Perioden eq '2023JJ00' and startswith(RegioS,'PC')&$select=RegioS,Gemeentecode_22`)).value;
const gemeenteVan = Object.fromEntries(pc.filter((r) => r.Gemeentecode_22?.trim()).map((r) => [r.RegioS.slice(2), r.Gemeentecode_22.trim().padStart(4, "0")]));
const namen = Object.fromEntries((await json(`${CBS}/85236NED/RegioS?$format=json&$filter=startswith(Key,'GM')`)).value.map((r) => [r.Key.slice(2), r.Title]));
// 3. Personenauto's per postcode en brandstof (RDW Brandstoffen_op_PC4). E = volledig elektrisch, BE = benzine-hybride.
const rdw = await json("https://opendata.rdw.nl/resource/8wbe-pu7d.json?$select=postcode,brandstof,sum(aantal) AS n&$where=voertuigsoort='Personenauto'&$group=postcode,brandstof&$limit=50000");
const perPc = {}; for (const r of rdw) { const p = (perPc[r.postcode] ??= { tot: 0, E: 0 }); p.tot += +r.n; if (r.brandstof === "E") p.E += +r.n; }
const lease = Object.entries(perPc).filter(([, p]) => p.tot > LEASE);
const land = Object.values(perPc).reduce((s, p) => ({ tot: s.tot + p.tot, E: s.E + p.E }), { tot: 0, E: 0 });
const zonder = lease.reduce((s, [, p]) => ({ tot: s.tot - p.tot, E: s.E - p.E }), land);
console.log(`\nRDW nu: ${land.E} van ${land.tot} personenauto's volledig elektrisch (${(100 * land.E / land.tot).toFixed(1)}%).`);
console.log(` ${lease.length} postcodes met meer dan ${LEASE} auto's (vermoedelijk lease en verhuur: ${lease.map(([k]) => k).join(", ")}) hebben ${lease.reduce((s, [, p]) => s + p.E, 0)} elektrische auto's;`);
console.log(` zonder die postcodes: ${(100 * zonder.E / zonder.tot).toFixed(1)}%`);
// 4. Per gemeente optellen (zonder de lease-postcodes) en rangschikken
const perGm = {};
for (const [p, v] of Object.entries(perPc)) { const g = gemeenteVan[p]; if (!g || v.tot > LEASE) continue;
const t = (perGm[g] ??= { tot: 0, E: 0, pcs: 0 }); t.tot += v.tot; t.E += v.E; t.pcs++; }
const rang = Object.entries(perGm).map(([g, t]) => ({ g, naam: namen[g] ?? g, ...t, aandeel: t.E / t.tot })).sort((a, b) => b.aandeel - a.aandeel);
const hier = rang.findIndex((r) => r.g === GM), r = rang[hier];
console.log(`\n${r.naam} (GM${GM}): ${r.E} van ${r.tot} personenauto's elektrisch = ${(100 * r.aandeel).toFixed(1)}%, plek ${hier + 1} van ${rang.length} gemeenten (${r.pcs} postcodes)`);
const eigen = Object.entries(perPc).filter(([p]) => gemeenteVan[p] === GM).sort((a, b) => b[1].E - a[1].E).slice(0, 3);
console.log(" meeste elektrische auto's:", eigen.map(([p, v]) => `${p}: ${v.E} van ${v.tot} (${(100 * v.E / v.tot).toFixed(0)}%)`).join(", "));
console.log("Hoogste aandeel:", rang.slice(0, 5).map((x) => `${x.naam} ${(100 * x.aandeel).toFixed(1)}%`).join(", "));
console.log("Laagste aandeel:", rang.slice(-5).map((x) => `${x.naam} ${(100 * x.aandeel).toFixed(1)}%`).join(", "));
const top = Object.entries(perPc).filter(([p]) => gemeenteVan[p] === rang[0].g).sort((a, b) => b[1].E - a[1].E)[0];
console.log(`Controleer de koploper: in ${rang[0].naam} heeft postcode ${top[0]} er ${top[1].E} van ${top[1].tot} (bedrijfsadres?)`);
Uitvoer
Nederland, 1 januari, personenauto's met elektriciteit als (hoofd)brandstof, incl. hybrides (CBS):
2019 3.7%, 2020 4.7%, 2021 6.1%, 2022 8.2%, 2023 10.7%, 2024 13.8%, 2025 17.5%, 2026 21.5%
RDW nu: 798322 van 9564492 personenauto's volledig elektrisch (8.3%).
7 postcodes met meer dan 20000 auto's (vermoedelijk lease en verhuur: 1114, 1327, 3824, 3991, 4817, 5048, 9723) hebben 223943 elektrische auto's;
zonder die postcodes: 6.3%
Utrecht (gemeente) (GM0344): 12581 van 129100 personenauto's elektrisch = 9.7%, plek 12 van 342 gemeenten (47 postcodes)
meeste elektrische auto's: 3521: 1854 van 4001 (46%), 3511: 1817 van 3794 (48%), 3544: 805 van 8957 (9%)
Hoogste aandeel: Wierden 21.2%, Tynaarlo 14.2%, Amstelveen 11.0%, Smallingerland 10.9%, Haarlemmermeer 10.9%
Laagste aandeel: Noardeast-Fryslân 2.8%, Westerwolde 2.8%, Ameland 2.5%, Vlieland 2.4%, Terschelling 1.9%
Controleer de koploper: in Wierden heeft postcode 7468 er 4104 van 11505 (bedrijfsadres?)
Waar het misgaat
Lease op één adres. Zeven postcodes hebben samen 223.943 elektrische personenauto's, 28% van alle elektrische auto's in Nederland. Gemeenten als Ouder-Amstel (1114), Almere (1327), Houten (3991), Breda (4817) en Amersfoort (3824) lijken zonder correctie veel elektrischer dan ze zijn.
Ook kleinere bedrijfsadressen tellen. Wierden staat bovenaan door postcode 7468 (4.104 elektrische auto's op 11.505). De drempel van 20.000 vangt alleen de grootste. Laat altijd zien welke postcodes het getal maken.
Twee definities van elektrisch. CBS 85237NED rekent hybrides tot 'Elektriciteit' (2.023.337 auto's op 1 januari 2026), de RDW-code E is alleen volledig elektrisch (798.322 in oktober 2026). Noem altijd welke je bedoelt.
Spaties in CBS-codes. Gemeentecode_22 is ' 344' en de gemeentenamen hebben 'GM0344'. Zonder trimmen en aanvullen koppelt er niets, zonder foutmelding.
Geen geschiedenis bij de RDW. Brandstoffen_op_PC4 toont alleen vandaag. Wie 'hoe snel' per gemeente wil laten zien, moet zelf maandelijks opslaan. Verzin geen reeks door oude jaren terug te rekenen.
Socrata kan niet joinen. De kentekentabel (met datum eerste toelating) en de brandstoftabel (met E) zijn apart; een SoQL-JOIN geeft 'joins are not supported'. Elektrische auto's per bouwjaar haal je dus niet met één aanroep uit de RDW.
Verder bouwen
Maandelijkse momentopname per gemeente (GitHub Actions met een cron), zodat je na een jaar per gemeente de groei in procentpunten kunt laten zien.
Een kaart: kleur de gemeenten (PDOK-grenzen) naar aandeel elektrisch en zet er het aantal publieke laadpunten per elektrische auto naast (NDW).
Inkomen erbij: zet het aandeel elektrisch per gemeente naast het gemiddelde inkomen uit de CBS-kerncijfers en kijk hoe sterk de samenhang is.
Per postcode in je eigen stad: dezelfde telling op postcodeniveau, op een kaart met de PDOK-postcodevlakken (CBS postcode4), met bedrijfsadressen grijs.
Meer met deze data
Verkochte nieuwe volledig elektrische personenauto's: 156 duizend in 2025, 188 keer zo veel als in 2012
Verkochte nieuwe volledig elektrische personenauto's, 2012 – 2025, in duizend. Dat is het hoogste punt in de reeks.
Bron: CBS, tabel 85898NED (Verkochte wegvoertuigen; nieuw en tweedehands, voertuigsoort, brandstof) · opgehaald 25 oktober 2026Open de tabel Los blok