# Nationaal Energie Dashboard (NED)

Het Nationaal Energie Dashboard is een initiatief van Gasunie en TenneT. Het laat zien hoeveel elektriciteit er wordt opgewekt (zon, wind op land, wind op zee, per provincie en per windpark op zee) en hoeveel gas er wordt verbruikt, met een verwachting voor de komende week en CO2-uitstoot. Een API-sleutel is gratis na het aanmaken van een account, maar de voorwaarden geven alleen een niet-overdraagbaar gebruiksrecht. Daarom staan hier geen NED-cijfers; de grafiek komt uit de elektriciteitsbalans van het CBS.

- Uitgever: Nationaal Energie Dashboard
- Gebied: Nederland · Laagste detail: energiedrager per provincie of windpark
- Periode: deels vanaf januari 2016 · Ververst: live
- Toegang: Gratis sleutel · Licentie: Algemene voorwaarden NED (geen open licentie; bronvermelding met logo en link verplicht)
- Koppelsleutels: point (gebied of windpark), type (energiedrager), granularity (10 minuten tot jaar), validfrom (tijd)
- Status: grijs
- URL: https://ned.nl/nl/api

## Wat kun je ermee?
- **Hoeveel stroom komt er nu van zon en wind?.** De utilizations-endpoint geeft per energiedrager de opwek in kW en kWh, tot op tien minuten. Zet zon en wind van vandaag naast die van een jaar geleden.
- **Wind op zee groeit hard.** Volgens het CBS leverden windparken op zee 15,6 miljard kWh in 2025, 47 keer zo veel als in 2007 (grafiek op deze pagina). NED geeft hetzelfde per park en per kwartier.
- **Welke provincie wekt de meeste zonnestroom op?.** Voor zon en wind op land splitst NED de opwek per provincie. Deel door het aantal inwoners of de oppervlakte uit de CBS-cijfers.

## Zo verwerk je het
1. **Account en sleutel.** Maak een account op ned.nl, ga in 'mijn account' naar het tabblad API en maak daar zelf een sleutel aan. Zonder sleutel geeft api.ned.nl een 401 ("Full authentication is required").
   `https://ned.nl/nl/api`
2. **Opwek opvragen.** /v1/utilizations met codes: point=0 (Nederland), type=2 (zon), granularity=3 (10 minuten), granularitytimezone=1 (UTC), classification=2 (actueel), activity=1 (opwek), plus validfrom[after] en validfrom[strictly_before]. De sleutel gaat in de kop X-AUTH-TOKEN; het antwoord is JSON-LD. Dit is het voorbeeld uit de NED-handleiding.
   `curl -g -H "X-AUTH-TOKEN: <sleutel>" -H "Accept: application/ld+json" "https://api.ned.nl/v1/utilizations?point=0&type=2&granularity=3&granularitytimezone=1&classification=2&activity=1&validfrom[strictly_before]=2020-11-17&validfrom[after]=2020-11-16"`
3. **Open cijfers voor wie geen sleutel wil.** Het CBS publiceert maandcijfers voor dezelfde energiedragers in de elektriciteitsbalans (84575NED): zon, wind op land, wind op zee, invoer en uitvoer.
   `https://opendata.cbs.nl/ODataApi/OData/84575NED/TypedDataSet?$filter=substringof('JJ',Perioden)&$select=Perioden,WindenergieOpZee_14,Zonnestroom_15&$format=json`

## Interessante koppelingen
- Hoeveel zonnestroom levert een zonnige dag op? → [knmi-daggegevens](https://www.opendataindex.nl/bron/knmi-daggegevens.md) via datum. Zet de dagelijkse zonne-opwek naast de zonneschijnduur (SQ) en de straling (Q) van het KNMI.
- Hoe vol draaien de windparken op zee? → [emodnet](https://www.opendataindex.nl/bron/emodnet.md) via naam van het windpark. Deel de opwek per windpark door het vermogen uit EMODnet. Zo zie je de bezettingsgraad per park.

## Vergelijkbare bronnen
- [tennet](https://www.opendataindex.nl/bron/tennet.md): Hoe de netbeheerder het net in balans houdt (onbalansprijzen, reservevermogen), per kwartier; ook met sleutel en strenge voorwaarden.
- [cbs-statline](https://www.opendataindex.nl/bron/cbs-statline.md): Open maand- en jaarcijfers over opwek en verbruik, geen uur- of kwartierwaarden en geen verwachting.
- [our-world-in-data](https://www.opendataindex.nl/bron/our-world-in-data.md): Stroommix van Nederland naast andere landen, per jaar.

## Waar je op moet letten
- **Geen open licentie.** Volgens artikel 8 van de algemene voorwaarden krijg je een niet-exclusief, niet-overdraagbaar gebruiksrecht en mag je geen sublicenties geven. Bij gebruik moet het NED-logo met een link naar ned.nl erbij.
- **Account nodig.** De sleutel maak je zelf aan in je NED-account; anoniem kom je niet verder dan de documentatie.
- **Niet zelf getest.** Wij hebben geen account aangemaakt. De inhoud hier komt van ned.nl (API-pagina, handleiding, voorwaarden) op 16 oktober 2026. Getest: zonder sleutel 401, met een ongeldige sleutel in X-AUTH-TOKEN 403 ("Invalid or expired API key").
- **200 verzoeken per 5 minuten.** Volgens de handleiding is de snelheidslimiet 200 opvragingen per 5 minuten.
- **Oud adres werkt niet meer.** Oudere voorbeelden gebruiken api.netanders.io; dat adres is niet meer in gebruik. Gebruik api.ned.nl/v1.

## API (REST (API Platform: JSON-LD/Hydra, JSON, CSV, XML))

- Basis: https://api.ned.nl/v1
- Toegang: Maak een account op ned.nl, ga in 'mijn account' naar het tabblad API en maak zelf een sleutel. Stuur die mee in de kop X-AUTH-TOKEN. Zonder sleutel 401 ("Full authentication is required"), ook voor de codelijsten; met een ongeldige sleutel 403. Alleen de specificatie (/v1/docs.json) is open. (getest)
- Formaten: jsonld, json, hal+json, vnd.api+json, csv, xml, html
- Filteren: API Platform-filters als queryparameters: exacte codes (ook als lijst met point[]=0&point[]=1) en datumfilters met validfrom[after|before|strictly_after|strictly_before].; =, [], after, strictly_after, before, strictly_before, order

### Endpoints
- `GET /utilizations`: De cijfers: opwek of verbruik per gebied, energiedrager en tijdvak, met vermogen (kW), volume (kWh), benuttingsgraad en CO₂. Actueel en verwachting.
- `GET /utilizations/{id}`: Eén record.
- `GET /points`: Gebieden: Nederland, provincies, wind op zee en losse windparken (filters identifier, name, parentpoints, childpoints, validfrom).
- `GET /types`: Energiedragers (zon, wind, wind op zee, aardgas, biomassa …).
- `GET /granularities`: Tijdvakken: 10 minuten, kwartier, uur, dag, maand, jaar.
- `GET /granularity_time_zones`: Tijdzones voor het tijdvak: UTC of Europe/Amsterdam.
- `GET /activities`: Soort activiteit: opwek, verbruik, import, export, opslag.
- `GET /classifications`: Verwachting (forecast) of actueel (current).

### Parameters
- `point`: Gebied: 0 Nederland, 1–12 de provincies (1 Groningen … 12 Limburg), 14 wind op zee, 28–36 windparken (28 Luchterduinen, 29 Prinses Amalia, 30 Egmond aan Zee, 31 Gemini, 33 Borssele I&II, 34 Borssele III&IV, 35 Hollandse Kust Zuid, 36 Hollandse Kust Noord). (uit de beschrijving)
- `type`: Energiedrager, o.a. 0 alles, 1 wind, 2 zon, 17 wind op zee, 18 gascentrales, 19 kolen, 20 kernenergie, 23 aardgas, 27 elektriciteitsmix, 59 elektriciteitsvraag. (uit de beschrijving)
- `granularity`: 3 = 10 minuten, 4 = kwartier, 5 = uur, 6 = dag, 7 = maand, 8 = jaar. (uit de beschrijving)
- `granularitytimezone`: 0 = UTC, 1 = CET (Europe/Amsterdam). Dag-, maand- en jaarcijfers bestaan alleen met 1; met 0 krijg je dan niets terug. (uit de beschrijving)
- `classification`: 1 = verwachting, 2 = actueel. (uit de beschrijving)
- `activity`: 1 opwek, 2 verbruik, 3 import, 4 export, 5 opslag in, 6 opslag uit, 7 opslag. (uit de beschrijving)
- `validfrom[after] / [strictly_after] / [before] / [strictly_before]`: Periode kiezen; zet -g bij curl vanwege de blokhaken. (uit de beschrijving)
- `order[validfrom]`: Volgorde op tijd. (uit de beschrijving)
- `page / itemsPerPage`: Paginering: page begint bij 1; itemsPerPage standaard 144 (een dag in tienminutenwaarden), hoogstens 200. (uit de beschrijving)

### Velden van een utilization (volgens specificatie en handleiding; niet zelf gezien) (8)
`point / type / granularity / granularitytimezone / activity / classification` IRI, `capacity` getal, `volume` getal, `percentage` getal, `emission` getal, `emissionfactor` getal, `validfrom / validto` datetime, `lastupdate` datetime

### Limieten en valkuilen
- 200 verzoeken per 5 minuten per sleutel. (uit de beschrijving)
- Hoogstens 200 records per pagina; een dag in tienminutenwaarden is 144 records, een jaar ruim 52.000 (ongeveer 263 aanroepen). (uit de beschrijving)
- Voorwaarden (artikel 8): een niet-exclusief, niet-overdraagbaar gebruiksrecht, geen sublicenties. Bij gebruik het NED-logo met een link naar ned.nl tonen. De sleutel hoort bij jouw account: niet delen. (ervaring)
- De handleiding spreekt zichzelf tegen over de tijdzone: in de tabel is 0 = UTC en 1 = CET, maar het voorbeeld zegt 'Timezone 1 - UTC' en het voorbeeldrecord verwijst naar /granularity_time_zones/0. Controleer met validfrom in het antwoord. (uit de beschrijving)
- De specificatie noemt bij activity 'alleen providing' en bij classification 'alleen near-realtime', terwijl de handleiding ook verbruik, import, export, opslag en verwachtingen noemt. Niet zelf kunnen nagaan. (uit de beschrijving)
- Historische waarden worden soms herberekend (nieuwe brondata of modellen); lastupdate verandert dan. Haal een periode opnieuw op als je hem wilt vastleggen. (uit de beschrijving)
- Het oude adres api.netanders.io/v1 werkt niet meer. Gebruik api.ned.nl/v1. api.ned.nl heeft geen robots.txt (404). (getest)
- Open alternatief zonder sleutel: CBS-tabel 84575NED (elektriciteitsbalans per maand: zon, wind op land en op zee, invoer en uitvoer). (ervaring)


## Voorbeelden met echte cijfers (1)

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

- **Stroom uit windparken op zee (CBS-elektriciteitsbalans): 15,6 miljard kWh in 2025, 47 keer zo veel als in 2007** (2025). Tabel 84575NED. [Voorbeeld](https://www.opendataindex.nl/voorbeeld/ned-wind-op-zee-cbs)
  - `https://opendata.cbs.nl/ODataApi/OData/84575NED/TypedDataSet?$filter=substringof('JJ'%2CPerioden)&$select=Perioden,WindenergieOpZee_14`
