Een stembureaukaart toont kiezers waar ze kunnen stemmen, wanneer een stemlokaal open is en hoe toegankelijk het is. De Kieswet verplicht gemeenten om stemlokalen zo toegankelijk mogelijk te maken en de adressen bekend te maken. Gemeenten leveren hun stembureaus aan bij Waar is mijn stemlokaal, dat de data onder CC0 en via een API beschikbaar stelt.

Laatst bijgewerkt:

Wat vraagt de Kieswet van een gemeente over stemlokalen?

Artikel J 4 van de Kieswet regelt het aanwijzen van stemlokalen. Lid 1 laat burgemeester en wethouders voor elk stembureau een geschikt stemlokaal aanwijzen en verplicht de burgemeester om de adressen aan de kiezer mee te delen. Lid 2 gaat over toegankelijkheid:

Burgemeester en wethouders dragen er zorg voor dat alle in de gemeente aangewezen stemlokalen zodanig zijn gelegen en zo zijn ingericht en uitgerust dat kiezers met lichamelijke beperkingen zoveel mogelijk hun stem zelfstandig kunnen uitbrengen.

Bron: Kieswet, artikel J 4, leden 1 en 2, geraadpleegd op 11 oktober 2026. Lid 3 voegt toe dat het college de gemeenteraad informeert als het daar niet aan voldoet.

De Rijksoverheid werkt dat uit voor kiezers. Stembureaus moeten toegankelijk zijn voor mensen in een rolstoel, niet per se voor een scootmobiel. Voor mobiele stemlokalen en stemlokalen op stations gelden andere regels; die zijn soms minder goed bereikbaar. Voor de details over hulpmiddelen, zoals een stemmal met audio-ondersteuning, verwijst de Rijksoverheid naar de site van de gemeente en naar Waarismijnstemlokaal.nl.

Een stembureaukaart is daarmee geen extraatje maar een praktische vorm van de mededeling uit lid 1, aangevuld met de toegankelijkheidsinformatie waar kiezers met een beperking naar zoeken.

Welke open data over stembureaus is er?

De bron is het platform Waar is mijn stemlokaal van de Open State Foundation. Gemeenten leveren daar hun stembureaus aan volgens de Stembureaus Open Data Standaard (ODS) die VNG Realisatie heeft opgesteld. Per verkiezing komt er een dataset in een CKAN-catalogus, met CSV, JSON en een Data Explorer met API. De data staat onder CC0. Het platform waarschuwt dat de stembureaus van gemeenten die zelf niets aanleverden door Open State Foundation zijn verzameld, zodat verplichte velden soms leeg zijn en de juistheid niet gegarandeerd is.

Op data.overheid.nl staan ook stembureaudatasets, maar bij een zoekopdracht op 11 oktober 2026 waren dat vooral oudere bestanden, zoals die van 2019, en enkele gemeentelijke datasets. Voor actuele verkiezingen is de catalogus van Waar is mijn stemlokaal de plek.

Stembureaudataset gemeenteraadsverkiezingen 2026, geteld op 11 oktober 2026 via de datastore-API
KenmerkWaarde
StandaardStembureaus ODS v1.7
Aantal records9.976
Aantal verschillende CBS-gemeentecodes340
Toegankelijk voor mensen met een lichamelijke beperking: ja9.192
Toegankelijk voor mensen met een lichamelijke beperking: nee784
Type stembureau: regulier, mobiel, bijzonder9.682, 182 en 112
Records zonder breedtegraad0

De telling beschrijft wat gemeenten hebben ingevuld, niet de werkelijke toestand van de stemlokalen. Hoe u zulke data zelf publiceert, staat in de gids open data publiceren als gemeente.

Welke velden staan in de Stembureaus Open Data Standaard?

De dataset van 2026 heeft 47 ODS-velden (48 met de technische kolom _id). Voor een kaart zijn ze in vier groepen te verdelen.

Velden uit de stembureaudataset 2026, gegroepeerd naar gebruik in een kaart
GroepVeldenGebruik
IdentificatieGemeente, CBS gemeentecode, Nummer stembureau, Naam stembureau, Type stembureau, ID, UUIDFilteren per gemeente, titel van de marker
LocatieBAG Nummeraanduiding ID, adresvelden, X en Y (RD), Latitude en Longitude (WGS84), wijk- en buurtcodesPlaatsen op de kaart, koppelen aan de BAG
TijdOpeningstijd, SluitingstijdTonen en filteren op open of gesloten
ToegankelijkheidLichamelijke beperking, ov-halte, toilet, host, geleidelijnen, stemmal met audio, kandidatenlijst in braille en grote letters, gebarentolk, akoestiek, prikkelarm, prokkelduo, extra informatieFilters en een tekstuele beschrijving per stemlokaal

Omdat zowel RD- als WGS84-coördinaten in de data staan, hoeft u niet om te rekenen. Wilt u controleren of beide op dezelfde plek uitkomen, gebruik dan de RD naar WGS84 converter. Het BAG-nummer maakt een koppeling met de BAG mogelijk, bijvoorbeeld om het gebruiksdoel van het gebouw te vergelijken met wat de gemeente invulde.

Hoe ziet de architectuur van een stembureaukaart eruit?

De kaart heeft vier stappen: de gemeente voert de stembureaus in, een geplande taak haalt ze op, zet ze om naar GeoJSON en een kaartviewer toont ze met een lijst ernaast.

Architectuur van een stembureaukaart De gemeente voert stembureaus in bij Waar is mijn stemlokaal. Een server-side ophaaltaak leest de datastore-API, schrijft een GeoJSON-bestand en een kaartviewer toont kaart en lijst. Invoer gemeente(ODS v1.7) CKAN-datastoreCC0, per verkiezing Ophaaltaakserver-side + cache Kaart Lijst in tekst

De ophaaltaak draait aan de serverkant om twee redenen. De datastore-API stuurde bij de test geen Access-Control-Allow-Origin-header mee, zodat een browser het verzoek van een andere site blokkeert. En op de verkiezingsdag wilt u de kaart niet afhankelijk maken van een externe API die op dat moment het drukst bezocht wordt. Een statisch GeoJSON-bestand dat elk kwartier wordt ververst, is genoeg. De kaartlaag zelf kan met MapLibre of OpenLayers, met een achtergrondkaart van PDOK.

Werkend voorbeeld: stembureaus van één gemeente als GeoJSON

Het script haalt alle stembureaus van één gemeente op uit de dataset van de gemeenteraadsverkiezingen 2026, filtert op CBS-gemeentecode en zet ze om naar een GeoJSON FeatureCollection. Getest op 11 oktober 2026 met Node 24.

// stembureaus.mjs — Node 18 of nieuwer, server-side (de API stuurt geen CORS-header)
const API = 'https://data.waarismijnstemlokaal.nl/api/3/action/datastore_search';
const RESOURCE = 'ff973715-2f66-4421-a860-10cc0b8d6295'; // gemeenteraadsverkiezingen 2026

async function stembureaus(gemeentecode) {
  const url = new URL(API);
  url.searchParams.set('resource_id', RESOURCE);
  url.searchParams.set('filters', JSON.stringify({ 'CBS gemeentecode': gemeentecode }));
  url.searchParams.set('limit', '1000');
  const res = await fetch(url);
  if (!res.ok) throw new Error('API gaf status ' + res.status);
  const { result } = await res.json();
  return result.records;
}

function naarGeoJSON(records) {
  return {
    type: 'FeatureCollection',
    features: records
      .filter((r) => r.Longitude != null && r.Latitude != null)
      .map((r) => ({
        type: 'Feature',
        geometry: { type: 'Point', coordinates: [r.Longitude, r.Latitude] },
        properties: {
          naam: r['Naam stembureau'],
          adres: r.Straatnaam + ' ' + r.Huisnummer + (r.Huisletter || '') + ', ' + r.Plaats,
          type: r['Type stembureau'],
          open: r.Openingstijd,
          dicht: r.Sluitingstijd,
          toegankelijk: r['Toegankelijk voor mensen met een lichamelijke beperking'],
          bag: r['BAG Nummeraanduiding ID'],
        },
      })),
  };
}

const records = await stembureaus('GM0392'); // Haarlem
const fc = naarGeoJSON(records);
const ja = fc.features.filter((f) => f.properties.toegankelijk === 'ja').length;
console.log(records.length + ' stembureaus, ' + ja + ' met toegankelijk = ja');
console.log(JSON.stringify(fc.features[0].properties, null, 2));

Uitvoer op 11 oktober 2026:

88 stembureaus, 82 met toegankelijk = ja
{
  "naam": "Het Stadhuis A (ingang Koningstraat)",
  "adres": "Grote Markt 2, Haarlem",
  "type": "regulier",
  "open": "2026-03-18T07:30:00",
  "dicht": "2026-03-18T21:00:00",
  "toegankelijk": "ja",
  "bag": "0392200000022718"
}

Schrijf fc naar een bestand en laat de kaartviewer dat bestand laden. Wilt u liever geen API gebruiken, dan levert https://data.waarismijnstemlokaal.nl/datastore/dump/ gevolgd door dezelfde resource-id de volledige dataset als CSV. Meer over het opzetten van zo'n dataflow staat bij API-koppelingen.

Hoe maakt u de stembureaukaart zelf toegankelijk?

Een kaart over toegankelijke stemlokalen die zelf niet toegankelijk is, mist zijn doel. Voor websites van overheidsinstanties gelden EN 301 549 en daarmee WCAG 2.1 op niveau A en AA. Artikel 2, lid 2, onder d, van het Tijdelijk besluit digitale toegankelijkheid overheid zondert uit: "onlinekaarten en onlinekarteringsdiensten, mits essentiële informatie op navigatiekaarten op een toegankelijke, digitale wijze wordt verstrekt". Onze aanbeveling is om de adressen, openingstijden en toegankelijkheid van de stemlokalen in elk geval ook als tekst te tonen, dan hangt de toegankelijkheid niet af van de vraag of de kaart als navigatiekaart geldt. De uitwerking voor kaarten staat in de gids toegankelijke kaarten. Voor deze toepassing komen daar een paar concrete punten bij.

  • Lijst naast de kaart. Toon alle stemlokalen ook als lijst, gesorteerd op afstand of op naam, met adres, openingstijden en toegankelijkheid in gewone tekst.
  • Filters op de ODS-velden. Laat filteren op toegankelijkheid, stemmal met audio-ondersteuning, kandidatenlijst in braille of grote letters en gebarentolk, en zet het aantal resultaten in tekst bij het filter.
  • Niet alleen kleur. Onderscheid toegankelijke en niet-toegankelijke lokalen met vorm en tekst, niet alleen met groen en rood.
  • Tijden voluit. Schrijf "open van 07.30 tot 21.00 uur" in plaats van een ISO-tijdstempel, en meld afwijkende tijden van mobiele en bijzondere stembureaus apart.
  • Zoeken op adres. Laat kiezers hun eigen adres invoeren via de PDOK-geocoder; zie adressen zoeken met PDOK.

Welke valkuilen zijn er bij een stembureaukaart?

  • Elke verkiezing een nieuwe resource-id. De id in het voorbeeld hoort bij de gemeenteraadsverkiezingen 2026. Haal de id voor een nieuwe verkiezing op van de datapagina en zet hem in configuratie, niet in de code.
  • Tijden zonder tijdzone. Openingstijd komt terug als 2026-03-18T07:30:00, zonder tijdzone. JavaScript leest dat als lokale tijd van de machine. Draait uw server in UTC, zet dan expliciet de Nederlandse tijdzone.
  • Lege tekst naast null. Niet-ingevulde velden zijn soms null en soms een lege string. Behandel beide als "onbekend" en toon dat ook zo, niet als "nee".
  • Ingevuld is niet gecontroleerd. Een "ja" bij toegankelijkheid is wat de gemeente opgaf. Voor gemeenten die niet zelf aanleverden, heeft Open State Foundation de gegevens verzameld.
  • Mobiele stembureaus. Die hebben vaak afwijkende tijden en soms meerdere locaties op één dag. Toon ze apart in de lijst.
  • Geen CORS. Rechtstreeks ophalen vanuit de browser lukte niet; gebruik een eigen ophaaltaak of het CSV-bestand.

Wanneer is een eigen stembureaukaart niet nodig?

Voor veel gemeenten is een eigen kaart overbodig. Waar is mijn stemlokaal biedt een embedcode voor de kaart van één gemeente of zelfs één stembureau, die u op de verkiezingspagina van de gemeente kunt plaatsen. Dat is de eenvoudigste vorm van hergebruik en vraagt geen eigen hosting.

Een eigen kaart is zinvol als de gemeente stembureaus wil combineren met eigen lagen, zoals parkeerplaatsen voor mensen met een beperking, tijdelijke verkeersmaatregelen of ov-haltes, of als de kaart moet passen in een bestaande GIS-viewer voor gemeenten. Ook dan blijft de aanlevering bij Waar is mijn stemlokaal de bron, zodat er één plek is waar de gemeente de gegevens bijhoudt. TechinFlow beschrijft hier hoe zo'n kaart te bouwen is; een eigen uitvoering van deze kaart is geen referentie van TechinFlow. Bredere kaartvragen staan bij GIS- en kaartoplossingen.

Veelgestelde vragen

Is een gemeente verplicht om een stembureaukaart te publiceren?

Nee, een kaart is niet verplicht. De Kieswet verplicht de burgemeester wel om de adressen van de stemlokalen aan de kiezer mee te delen, en het college om stemlokalen zo toegankelijk mogelijk te maken. Een kaart met lijst is een praktische manier om die adressen en de toegankelijkheid duidelijk te maken, naast de wettelijke kennisgeving.

Waar vind ik de open data van alle stembureaus?

Op de datapagina van Waar is mijn stemlokaal, met per verkiezing een dataset in CSV en JSON en een Data Explorer met API. De data staat onder CC0 en volgt de Stembureaus Open Data Standaard van VNG Realisatie. Op data.overheid.nl staan vooral oudere stembureaudatasets.

Kan ik de API rechtstreeks vanuit de browser aanroepen?

Bij de test op 11 oktober 2026 stuurde de datastore-API geen CORS-header mee, dus een browser blokkeert het verzoek vanaf een andere site. Haal de data op met een server-side taak, sla die op als GeoJSON en laat de kaart dat bestand laden. Dat ontlast de bron op de verkiezingsdag.

Hoe betrouwbaar is het veld over toegankelijkheid?

Het veld geeft weer wat de gemeente heeft ingevuld. Voor gemeenten die niets aanleverden, heeft Open State Foundation de gegevens verzameld en kunnen verplichte velden leeg zijn. Toon lege velden als onbekend en verwijs voor twijfelgevallen naar de verkiezingspagina van de gemeente.

Welke versie van de standaard moet ik gebruiken?

Volgens Waar is mijn stemlokaal is versie 1.7 van de Stembureaus Open Data Standaard gebruikt voor de gemeenteraadsverkiezingen van 2026 en de herindelingsverkiezingen van dat jaar. Elke verkiezing kan een nieuwe versie gebruiken. Lees de versie uit de datapagina en controleer of veldnamen zijn gewijzigd voordat u een script hergebruikt.

Bronnen

Meer over TechinFlow

Een nieuw bureau in Haarlem voor maatwerk software, GIS en dataplatforms op open standaarden.

023 230 21 42Neem contact op

Een vraag of opdracht?

Vertel kort wat er speelt en voor welke organisatie. We reageren per e-mail.

Stuur een bericht