Storingsdata in je eigen systemen
Meldingen van Nederlandse gebruikers, per kwartier, voor elke dienst op de site. Status, storingen en officiële berichten, als JSON.
Wat de data is
Laatste 30 dagen8.377
diensten die we volgen
1.086
met een officiële statuspagina
76
meldingen over 33 diensten
0
storingen
Een storing betekent hier: veel meer meldingen dan normaal voor die dienst. Het zijn meldingen van mensen, geen metingen in netwerken. De meeste diensten staan op onbekend (geen meldingen in 30 dagen); dat is de normale stand. De historie begint op 30 april 2026 en groeit elke dag. Hoe wij meten.
Drie plannen
Prijzen excl. btw. Per organisatie, niet per persoon.
Gratis
0
voor altijd
Zakelijk
39 euro
per maand, of 390 per jaar (47,19 incl. btw per maand)
Op maat
vanaf 149
per maand, op factuur
Gratis
0
voor altijd
- Je pagina claimen, berichten en onderhoud
- Ja
- Dashboard
- 30 dagen, storingen van 90 dagen
- Waarschuwingen
- Mail, 3 ontvangers
- Team
- 3 leden
- API
- 1.000 verzoeken per dag: status, meldingen van 24 uur, storingen van 7 dagen
- Officiële statuspagina's
- Nee
Zakelijk
39 euro
per maand, of 390 per jaar (47,19 incl. btw per maand)
- Je pagina claimen, berichten en onderhoud
- Ja
- Dashboard
- Per kwartier, alle historie, CSV
- Waarschuwingen
- Slack, Teams en webhooks, onbeperkt
- Team
- Onbeperkt, meerdere merken
- API
- 250.000 per maand, alle routes en alle historie
- Officiële statuspagina's
- Ja
- Opzeggen
- Per maand of per jaar, in het portaal
Op maat
vanaf 149
per maand, op factuur
- Je pagina claimen, berichten en onderhoud
- Ja
- Dashboard
- Plus export op maat
- Waarschuwingen
- Onbeperkt
- Team
- Onbeperkt
- API
- Naar afspraak
- Officiële statuspagina's
- Ja
- Opzeggen
- Per contract
Niet te koop, in geen enkel plan: meldingen verbergen of vertragen, de status beïnvloeden, of een kenmerk "geverifieerd".
In drie stappen
- AccountMet je e-mailadres. Je krijgt een inloglink; geen wachtwoord.
- SleutelIn het portaal, onder API. Je ziet hem één keer, met een kopieerknop.
- Eerste aanroepStuur de sleutel mee in de kop
X-API-Keyof alsAuthorization: Bearer.
Al een account? Inloggen.
Zo ziet een antwoord eruit
curl https://storingenoverzicht.nl/api/v1/status/ziggo \
-H "X-API-Key: so_jouwsleutel" {
"bijgewerkt": "2026-10-19T22:17:47.758Z",
"bedrijf": "ziggo",
"naam": "Ziggo",
"status": "rustig",
"meldingen_laatste_uur": 0,
"meldingen_24_uur": 0,
"normaal_per_uur": 0.25,
"factor": 0,
"laatste_melding": "2026-10-03T09:57:31.845Z",
"officieel": null,
"url": "https://storingenoverzicht.nl/storing/ziggo"
} Echte stand van Ziggo, ingekort. Tijden in UTC (ISO 8601).
Routes
10 routes, alle GETBasis: https://storingenoverzicht.nl/api/v1. Elke aanroep gaat zoals hieronder; alleen het pad verschilt.
curl https://storingenoverzicht.nl/api/v1/status \
-H "X-API-Key: so_jouwsleutel" JavaScript en Python
const r = await fetch('https://storingenoverzicht.nl/api/v1/status', {
headers: { 'X-API-Key': process.env.STORINGEN_SLEUTEL },
});
const gegevens = await r.json();import os, requests
r = requests.get('https://storingenoverzicht.nl/api/v1/status',
headers={'X-API-Key': os.environ['STORINGEN_SLEUTEL']})
gegevens = r.json() /status Gratis De status van alle bedrijven, of van een keuze.
Met ETag: stuur If-None-Match mee en je krijgt 304 als er niets veranderde.
| Parameter | Betekenis |
|---|---|
bedrijven | Komma-lijst van adressen, bijvoorbeeld kpn,ziggo |
categorie | Adres van een categorie of hoofdcategorie |
status | Komma-lijst: storing, verhoogd, rustig, onbekend |
Voorbeeld
GET https://storingenoverzicht.nl/api/v1/status?bedrijven=kpn,ziggo /status/{bedrijf} Gratis De status van één bedrijf.
Voorbeeld
GET https://storingenoverzicht.nl/api/v1/status/ziggo /bedrijven Gratis Alle bedrijven met categorie, website en statuspagina, 100 per keer.
Volgende bladzijde: geef de waarde van volgende mee als na.
| Parameter | Betekenis |
|---|---|
q | Zoek op naam of adres |
categorie | Adres van een categorie |
soort | Soort overheid, bijvoorbeeld Gemeente |
statuspagina | ja: alleen met een officiële statuspagina |
aantal | 1 tot 1000 |
na | Cursor uit het vorige antwoord |
Voorbeeld
GET https://storingenoverzicht.nl/api/v1/bedrijven?categorie=telecommunicatie&aantal=20 /bedrijven/{bedrijf} Gratis Eén bedrijf met categorie, website, statuspagina en de status.
Voorbeeld
GET https://storingenoverzicht.nl/api/v1/bedrijven/kpn /bedrijven/{bedrijf}/meldingen Gratis 24 uur, zakelijk alles Meldingen in een reeks per kwartier, uur of dag, eventueel uitgesplitst naar soort probleem of provincie.
| Parameter | Betekenis |
|---|---|
per | kwartier (tot 7 dagen), uur (tot 90 dagen) of dag (tot 400 dagen) |
van | ISO 8601, standaard 24 uur terug |
tot | ISO 8601, standaard nu |
uitsplitsen | soort of provincie |
Voorbeeld
GET https://storingenoverzicht.nl/api/v1/bedrijven/kpn/meldingen?per=uur&uitsplitsen=soort /categorieen Gratis Alle categorieën met het aantal bedrijven.
Voorbeeld
GET https://storingenoverzicht.nl/api/v1/categorieen /storingen Gratis 7 dagen, zakelijk alles Storingen met begin, einde, piek en totaal, nieuwste eerst.
| Parameter | Betekenis |
|---|---|
van | ISO 8601 |
tot | ISO 8601 |
bedrijf | Komma-lijst van adressen |
categorie | Adres van een categorie |
actief | ja: alleen lopende |
aantal | 1 tot 500 |
na | Cursor |
Voorbeeld
GET https://storingenoverzicht.nl/api/v1/storingen?actief=ja /storingen/{id} Gratis 7 dagen, zakelijk alles Eén storing met de meldingen per kwartier en de officiële berichten in die tijd.
Voorbeeld
GET https://storingenoverzicht.nl/api/v1/storingen/{id} /berichten Zakelijk Officiële berichten van bedrijven: storingen met hun updates, gepland onderhoud en mededelingen.
| Parameter | Betekenis |
|---|---|
bedrijf | Komma-lijst van adressen |
soort | storing, onderhoud of info |
Voorbeeld
GET https://storingenoverzicht.nl/api/v1/berichten?soort=onderhoud /gebruik Gratis, telt niet mee Je eigen verbruik, limiet en het moment waarop de teller weer op nul gaat.
Voorbeeld
GET https://storingenoverzicht.nl/api/v1/gebruik Demodienst
Het adres voorbeeld is een demodienst die elk uur dezelfde ronde loopt: rustig (:00 tot :15), meer meldingen (:15 tot :30), storing met een officieel bericht (:30 tot :45) en weer rustig. Zo bouw en test je je koppeling zonder te wachten op een echte storing. Werkt op elk plan, ook in /status?bedrijven=voorbeeld.
Webhooks, Slack en Teams
ZakelijkEen bericht zodra er iets verandert bij de bedrijven die je volgt. Tot vijf koppelingen per account, in te stellen in het portaal onder API: naar je eigen adres (een POST met JSON), of naar een kanaal in Slack of Teams. Per koppeling kies je de bedrijven en de events. Met de demodienst voorbeeld werkt het ook op het gratis plan.
storing.begonnen | Van rustig naar meer meldingen of storing |
storing.verhoogd | Wissel tussen meer meldingen en storing, beide kanten op (zie status en vorige_status) |
storing.opgelost | Weer rustig |
officieel.bericht | Nieuw bericht van het bedrijf zelf, of een nieuw incident op zijn statuspagina (data.bron) |
onderhoud.gepland | Nieuw gepland onderhoud, van het bedrijf of zijn statuspagina |
Tussen geen meldingen en rustig gaat niets: dat is geen storing en geen herstel.
{ "id": "evt_9Kq2...",
"type": "storing.begonnen",
"aangemaakt": "2026-10-19T14:05:00.000Z",
"data": {
"bedrijf": "kpn", "naam": "KPN",
"status": "storing", "vorige_status": "rustig",
"meldingen_laatste_uur": 63, "factor": 9.4,
"storing_id": "5b0c...", "url": "https://storingenoverzicht.nl/storing/kpn" } } Handtekening en nieuwe pogingen
Elke POST naar je eigen adres draagt X-Storingen-Handtekening: t=1792406700,v1=…. v1 is de HMAC-SHA256 van de tijd, een punt en de ruwe inhoud, met het geheim van de koppeling. Weiger alles ouder dan vijf minuten. Het geheim zie je één keer, bij het maken of vernieuwen.
import { createHmac, timingSafeEqual } from 'node:crypto'
// kop: de waarde van X-Storingen-Handtekening, lichaam: de ruwe tekst
function echt(kop, lichaam, geheim) {
const { t, v1 } = Object.fromEntries(kop.split(',').map((d) => d.split('=')))
if (Math.abs(Date.now() / 1000 - Number(t)) > 300) return false
const goed = createHmac('sha256', geheim).update(`${t}.${lichaam}`).digest('hex')
return timingSafeEqual(Buffer.from(goed), Buffer.from(v1 ?? ''))
} X-Storingen-Event | Het type, zoals storing.begonnen |
X-Storingen-Event-Id | Vast per event; gebruik het om dubbele berichten te negeren |
X-Storingen-Poging | 1 tot en met 5 |
Antwoord binnen 10 seconden met een 2xx. Anders proberen we het opnieuw na 1, 5, 30 en 120 minuten. In het portaal staat per koppeling een afleverlog van 7 dagen, en een knop voor een testbericht.
Limieten en koppen
| Gratis | 1.000 verzoeken per dag per account, 60 per minuut |
| Zakelijk | 250.000 per maand per account, 300 per minuut |
X-RateLimit-Limit | Je limiet per dag of maand |
X-RateLimit-Remaining | Wat er nog over is |
X-RateLimit-Reset | Unix-tijd waarop de teller op nul gaat |
Retry-After | Bij 429: aantal seconden wachten |
X-Request-Id | Noem dit bij een vraag aan ons |
Alleen geslaagde verzoeken tellen. Alle sleutels van één account delen de limiet.
Fouten
{ "fout": { "code": "limiet_bereikt",
"bericht": "Limiet van 1.000 verzoeken per dag bereikt.",
"documentatie": "https://storingenoverzicht.nl/api#limieten" } } 401 | geen_sleutel: geen of ongeldige sleutel |
402 | zakelijk_plan: hoort bij het zakelijke plan |
404 | onbekend_bedrijf, onbekende_storing of onbekend_endpoint |
400 | ongeldige_tijd of te_lange_reeks |
429 | limiet_bereikt of te_snel |
Versies
VoorwaardenWe voegen velden en routes toe zonder aankondiging, maar halen niets weg en veranderen geen bestaand veld binnen /api/v1. Iets wat dat wel doet, komt in /api/v2, met minstens zes maanden waarin beide werken.
- 1.2, 19 oktober 2026
- Webhooks met events, een tijd in de handtekening, nieuwe pogingen en een afleverlog; tot vijf koppelingen, ook naar Slack en Teams.
officieelkomt nu ook van de statuspagina van het bedrijf (bron: "statuspagina"), voor de ongeveer 600 bedrijven met een statuspagina in het Atlassian-formaat. - 1.1, 19 oktober 2026
- Routes
/bedrijven/{bedrijf},/categorieen,/storingen/{id},/berichtenen/gebruik. Filters en een cursor op/bedrijvenen/storingen. Meldingen per dag en uitgesplitst. Veldenofficieel,status_sindsennormaal_bekend. Fouten als object met een code. ETag op/status. Demodienstvoorbeeld. Limiet per account in plaats van per sleutel. - 1.0, 17 oktober 2026
- Eerste versie: status, bedrijven, meldingen en storingen.