WattWanneer

WattWanneer API

Dynamische energieprijsvoorspellingen voor jouw app, website of platform

Integreer de 168-uurs stroomprijsverwachting van WattWanneer en voeg direct waarde toe aan je product: automatisch laadadvies, slimme schakelschema’s, kostenoptimalisatie en voorspellend energiebeheer. Drie heldere JSON-endpoints, secured met API-keys, inclusief transparante modelkwaliteit.

Ontworpen voor professionele energie-automatisering

De WattWanneer API is geschikt voor elke toepassing die afhankelijk is van dynamische energieprijzen. Slimme batterijopslag, EV-laadsystemen, warmtepompen, boilers en domotica kunnen met onze 168-uurs forecast exact bepalen wanneer energie gunstig of ongunstig is. Zo bouw je moeiteloos logica voor goedkoop laden, peak-shaving, load-shifting en geoptimaliseerd bufferen. Onze gestandaardiseerde JSON-structuur maakt integratie eenvoudig en betrouwbaar: ideaal voor bedrijven die kostenbesparing en slimme automatisering willen koppelen aan actuele én toekomstige energieprijzen.

Wat de API biedt

  • /v1/forecast: 168-uurs uurprijzen voor Nederland in €/kWh met confidence-interval. Voor apps, dashboards en eigen logica.
  • /v1/tariff: hetzelfde, maar direct in het formaat dat evcc, Victron Dynamic ESS en Node-RED verwachten (start/end/value), inclusief optionele opslag- en btw-parameters voor all-in bedragen. Nul configuratie.
  • /v1/battery-plan: arbitrage-advies voor je thuisbatterij (Sessy, HomeWizard, Victron, zelfbouw): wanneer laden, wanneer ontladen, verwachte spread en winst per dag, 7 dagen vooruit. Geef capaciteit, vermogen en rendement mee.
  • /v1/cheapest-hours: de N goedkoopste losse uren per dag, voor warmtepomp, boiler en airco (die hoeven niet aaneengesloten te draaien).
  • /v1/negative-hours: alle uren onder een prijsdrempel komende week: teruglevering pauzeren of juist gratis laden.
  • /v1/summary: goedkoopste venster, gemiddelde prijs en verwachte piek in één compacte call.
  • /v1/history: gerealiseerde prijzen naast onze voorspelling van 2 dagen vooruit, met foutstatistiek. Controleer ons gerust.
  • /v1/metrics: actuele modelnauwkeurigheid.

Hoe werkt de API?

  • Eén simpel abonnement: €4,99 p/m
  • Inclusief alle endpoints: forecast, tariff, battery-plan, cheapest-hours, negative-hours, summary, history, metrics
  • Fair use: tot 10.000 requests per maand per API key
  • Rate limit: 10 requests per minuut per key
  • Base URL: https://wattwanneer.nl/api/v1/

Interesse? Sluit direct af

Het abonnement kost €4,99 per maand (inclusief btw) en is maandelijks opzegbaar. Sluit het hieronder af; zodra je betaling binnen is, ontvang je per e-mail je persoonlijke API-key voor productiegebruik.

Abonneren voor €4,99 per maand

Vragen, een specifieke use-case of je abonnement opzeggen? Mail wattwanneer@negoci.nl.

Snel starten

  1. Gebruik als base URL: https://wattwanneer.nl/api/v1
  2. Stuur je ontvangen API-key mee als header: X-API-Key: JOUW_API_KEY
  3. Test eerst met een kleine forecast-call voordat je automations aansluit.
curl -H "X-API-Key: JOUW_API_KEY" "https://wattwanneer.nl/api/v1/forecast?hours=24"

Alle timestamps zijn UTC. Een 401 betekent dat de key ontbreekt of ongeldig is. Een 429 betekent dat de rate limit tijdelijk is bereikt.

Responsevoorbeelden

/v1/forecast

{
  "zone": "NL",
  "generated_at": "2026-07-02T06:42:00Z",
  "model_version": "hist_gradient_boosting",
  "horizon_hours": 24,
  "points": [
    {
      "timestamp": "2026-07-02T22:00:00Z",
      "price_eur_per_kwh": 0.0999,
      "confidence_low": 0.0592,
      "confidence_high": 0.1406,
      "source": "model"
    }
  ]
}

/v1/summary

{
  "zone": "NL",
  "generated_at": "2026-07-02T06:42:00Z",
  "cheapest_hours_next_24h": [
    "2026-07-03T11:00:00Z",
    "2026-07-03T12:00:00Z",
    "2026-07-03T10:00:00Z"
  ],
  "cheapest_window": {
    "window_hours": 3,
    "start": "2026-07-03T10:00:00Z",
    "end": "2026-07-03T12:00:00Z",
    "end_exclusive": "2026-07-03T13:00:00Z",
    "avg_price": -0.0316
  },
  "average_price_next_24h": 0.0806,
  "average_price_next_7d": 0.1045,
  "expected_peak_price_next_7d": 0.3028
}

/v1/metrics

{
  "model_version": "hist_gradient_boosting",
  "mae_eur_per_kwh": 0.0124,
  "r2": 0.92,
  "n_samples": 95258,
  "last_backtest_range": {
    "from": "2026-05-14",
    "to": "2026-05-21"
  }
}

Vijf usecases: van zonnepaneel tot thuisbatterij

Een prijsvoorspelling wordt pas nuttig als er iets van gaat bewegen. Dit zijn de koppelingen waar de API voor gemaakt is, per apparaat uitgelegd.

evcc / Victron / Node-RED: /v1/tariff

Laadpaal- en energiemanagementsoftware wil een kant-en-klare tarievenfeed. Dit endpoint levert precies dat formaat, all-in met je eigen opslag en btw. Eén URL instellen en je auto of batterij plant zichzelf rond de goedkoopste uren, tot zeven dagen vooruit in plaats van alleen tot morgen:

curl -H "X-API-Key: JOUW_API_KEY" \
  "https://wattwanneer.nl/api/v1/tariff?charges=0.12&vat=21"

[
  { "start": "2026-07-10T00:00:00Z", "end": "2026-07-10T01:00:00Z", "value": 0.312 },
  ...
]

Laad je thuis met een eigen laadpaal? Elke slim geladen kWh levert sinds 2026 via ERE-certificaten ook nog een vergoeding op, bovenop het prijsvoordeel.

Thuisbatterij: /v1/battery-plan

Geef je batterij door en krijg per dag het laad/ontlaadplan met winstindicatie:

curl -H "X-API-Key: JOUW_API_KEY" \
  "https://wattwanneer.nl/api/v1/battery-plan?capacity_kwh=10&power_kw=5&efficiency=0.9"

{ "days": [ {
    "date": "2026-07-10",
    "charge_hours": ["2026-07-10T11:00:00Z", "2026-07-10T12:00:00Z"],
    "avg_charge_price": 0.0113,
    "discharge_hours": ["2026-07-10T18:00:00Z", "2026-07-10T19:00:00Z"],
    "avg_discharge_price": 0.1499,
    "spread_eur_per_kwh": 0.1386,
    "estimated_profit_eur": 1.21,
    "worth_cycling": true
  }, ... ],
  "best_day": "2026-07-14" }

Het veld worth_cycling is de kern: dat zegt of de spread van die dag groot genoeg is om een laadcyclus (en de bijbehorende slijtage) waard te zijn. Haal het plan dagelijks rond 13:45 op, dan staat de verse voorspelling klaar en draait je batterij op de automatische piloot.

Warmtepomp / boiler: /v1/cheapest-hours

Een (warmtepomp)boiler hoeft maar een paar uur per dag te draaien, en welke uren dat zijn maakt voor je warme douche niets uit. Vraag de goedkoopste uren van de komende 24 op en stuur er je relais of Home Assistant-automation mee aan. In de zomer landen die uren rond het middagdal van gemiddeld 2,4 cent, in de winter juist in de nacht; het patroon daarachter leggen we uit in het dagritme van de stroomprijs.

curl -H "X-API-Key: JOUW_API_KEY" \
  "https://wattwanneer.nl/api/v1/cheapest-hours?count=6"

Zonnepanelen: /v1/negative-hours

Bij een negatieve beursprijs betaal je met een dynamisch contract om terug te leveren, en steeds meer leveranciers rekenen daar ook nog terugleverkosten bovenop. Afgelopen zomer telden we 91 negatieve uren, meestal rond 13:00. Dit endpoint zet ze zeven dagen vooruit op een rij, zodat je er iets mee kunt: de omvormer die uren op nul-teruglevering zetten, of slimmer, die bijna-gratis stroom zelf opmaken door juist dan de boiler, batterij of auto te laten trekken. Zo wordt een kostenpost een voordeeltje. Hoe gek het kan worden zag je op 1 mei, toen de prijs onder de -50 cent dook.

curl -H "X-API-Key: JOUW_API_KEY" \
  "https://wattwanneer.nl/api/v1/negative-hours?threshold=0"

Met threshold vang je ook de bijna-gratis uren: threshold=0.02 geeft alles van 2 cent of minder.

Controleer ons: /v1/history

Gerealiseerde prijzen naast onze 2-dagen-vooruit voorspelling, met MAE en binnen-5-cent-percentage:

curl -H "X-API-Key: JOUW_API_KEY" \
  "https://wattwanneer.nl/api/v1/history?days=7"

Bouw er je eigen nauwkeurigheidsdashboard mee, of check gewoon af en toe of wij onze beloftes waarmaken. Wij kijken via dezelfde cijfers mee, dus we kunnen nergens heen.

Voorbeeld API-aanroepen

Gebruik steeds de header X-API-Key: <JOUW_KEY>.

curl

curl -H "X-API-Key: JOUW_API_KEY" "https://wattwanneer.nl/api/v1/forecast?hours=168"

Goedkoopste venster

curl -H "X-API-Key: JOUW_API_KEY" "https://wattwanneer.nl/api/v1/summary?windowHours=3"

JavaScript fetch

fetch("https://wattwanneer.nl/api/v1/forecast?hours=168", {
  headers: { "X-API-Key": "JOUW_API_KEY" }
})
  .then((res) => res.json())
  .then((data) => console.log(data));

Base URL + headers

Base URL: https://wattwanneer.nl/api/v1/
Header:    X-API-Key: JOUW_API_KEY
Rate limit: 10 req/min per key

Home Assistant koppelen

De meest voorkomende use-case voor de WattWanneer API is automatische sturing van apparaten via Home Assistant: vaatwasser, EV, boiler, warmtepomp of thuisbatterij die zelf weten wanneer stroom goedkoop is. Hieronder een werkende setup. Lees ook onze blogpost voor de bredere context.

1. Sensor met de eerstvolgende forecastprijs

De /v1/forecast endpoint geeft de komende forecasturen terug. Deze REST sensor toont de eerstvolgende prijs en bewaart de timestamp als attribuut:

sensor:
  - platform: rest
    name: "WattWanneer eerstvolgende prijs"
    resource: "https://wattwanneer.nl/api/v1/forecast?hours=24"
    method: GET
    headers:
      X-API-Key: "JOUW_API_KEY"
    value_template: "{{ value_json.points[0].price_eur_per_kwh | float }}"
    json_attributes_path: "$.points[0]"
    json_attributes:
      - timestamp
      - confidence_low
      - confidence_high
      - source
    unit_of_measurement: "EUR/kWh"
    scan_interval: 1800

2. Goedkoopste N-uurs venster vooruit

De /v1/summary endpoint rekent het goedkoopste N-uurs venster kant-en-klaar uit. Geen template-logica nodig:

sensor:
  - platform: rest
    name: "Goedkoopste 2-uurs venster start"
    resource: "https://wattwanneer.nl/api/v1/summary?windowHours=2"
    method: GET
    headers:
      X-API-Key: "JOUW_API_KEY"
    value_template: "{{ value_json.cheapest_window.start }}"
    json_attributes_path: "$.cheapest_window"
    json_attributes:
      - start
      - end
      - end_exclusive
      - avg_price
      - window_hours
    scan_interval: 1800

De sensor-state is nu de starttijd (ISO-timestamp) van het goedkoopste 2-uurs venster in de komende 24 uur. Voor andere lengtes pas je windowHours aan (ondersteund: 1 t/m 24).

3. Automation: vaatwasser op het goedkoopste 2-uurs venster

Trigger een apparaat exact op de starttijd van het venster:

automation:
  - alias: "Vaatwasser starten op goedkoopste 2-uurs venster"
    trigger:
      - platform: time_pattern
        minutes: "/1"
    condition:
      - condition: template
        value_template: >-
          {% set start = as_timestamp(states('sensor.goedkoopste_2_uurs_venster_start')) %}
          {{ start is number and start <= as_timestamp(now()) < start + 60 }}
      - condition: state
        entity_id: input_boolean.vaatwasser_gereed
        state: "on"
    action:
      - service: switch.turn_on
        target:
          entity_id: switch.vaatwasser_stekker
      - service: input_boolean.turn_off
        target:
          entity_id: input_boolean.vaatwasser_gereed

Veelgebruikte automations

Verdienmodel: rekent zich snel terug

Een gemiddeld huishouden met EV, vaatwasser, wasmachine en boiler bespaart 150 tot 400 euro per jaar door slim te schakelen op de goedkoopste uren. De API kost €4,99 per maand (10.000 requests, ruim genoeg voor automations die elke 30 minuten pollen). Dat is binnen de eerste maand terugverdiend.

Transparantie & nauwkeurigheid

De nauwkeurigheid is transparant opvraagbaar: via /v1/metrics haal je de modelkwaliteit op, zoals de MAE (gemiddelde afwijking), R², het aantal datapunten en de laatste backtest-range. De MAE ligt doorgaans rond de 1 tot 2,5 cent per kWh, afhankelijk van de marktvolatiliteit. Het model traint op ruim 95.000 uur historische EPEX-data en wordt dagelijks opnieuw getraind.

Disclaimer

De gegevens die WattWanneer verstrekt, inclusief de 168-uurs prijsvoorspelling, samenvattende inzichten en modelmetrics, zijn gebaseerd op historische marktgegevens en een voorspellend model. Hoewel we streven naar een zo betrouwbaar mogelijke forecast, kunnen afwijkingen en onjuiste prijzen voorkomen door marktvolatiliteit, datavertragingen of modelbeperkingen. WattWanneer kan niet aansprakelijk worden gesteld voor beslissingen, kosten, schade of automatiseringen die voortkomen uit het gebruik van deze data. Gebruik de informatie als indicatie en combineer deze waar nodig met eigen controles of aanvullende bronnen.