P2000-data uitlezen in 2026 — gids voor developers en hulpdiensten
P2000 is nog steeds het ruggengraad-protocol waarmee Nederlandse hulpdiensten alarmeringen ontvangen. Voor developers, journalisten en kazernes die met die data willen werken, is de route in 2026 een andere dan tien jaar geleden. Een praktijkoverzicht.
Wat is P2000 precies
P2000 is een landelijk dekkend paging-netwerk dat sinds 2002 in Nederland operationeel is. Het is geen netwerk dat de hulpdiensten zelf aanstuurt, maar een uitzendingsnetwerk dat door alle meldkamers gebruikt wordt om alarmeringen te versturen aan piepers, brandweerkazernes, ambulance-eenheden en politievoertuigen. Het draait op het FLEX-protocol in de 169-MHz-band.
Een typische alarmering bevat een capcode (de "ontvanger-adres"), een tijdstip, en de tekst van de melding — vaak in een herkenbaar format met prioriteit, regio, kazerne-aanduiding en een plaatsnaam.
Waarom is dit interessant voor developers?
Omdat alle alarmeringen over de lucht gaan en P2000 publiek ontvangbaar is, kun je in principe meeluisteren. Dat fundament heeft een levendig ecosysteem opgeleverd: 112-volgers, kazerneschermen, brandweer-management-tools, journalistieke monitoring-stations, en sinds een paar jaar ook hele consumentenproducten.
De klassieke route: SDR + decoder
Vóór er kant-en-klare API's bestonden, was de manier om P2000 te ontvangen:
- Een
RTL-SDRdongle (≈ 30 euro) op een PC. - Software als PDW, Multimon-NG of SDR# die het FLEX-signaal demoduleert.
- Een eigen parser die capcodes vertaalt naar voertuigen, kazernes en regio's.
- Een eigen database met de mapping capcode → voertuig/kazerne (de moeilijkste stap — die hou je zelf bij).
Het werkt, maar je krijgt enkel het signaal dat jouw zender-locatie kan ontvangen. Voor landelijke dekking heb je meerdere ontvangers nodig, gespreid over het land — en dat is logistiek vervelend.
De moderne route: één API, landelijke dekking
Sinds 2023 zijn er Nederlandse aggregatie-diensten die het signaal landelijk ontvangen en als gestructureerde data aanbieden. 112Radar is hier de bekendste van. Onder de motorkap zit:
- Een verdeeld netwerk van ontvangers voor volledige landelijke dekking.
- Verrijking met voertuig-data (4.400+ herkende voertuigen, 1.363 kazernes, 25 regio's).
- Geocoding van plaatsnamen en straatnamen via PDOK (BAG + Nationaal Wegenbestand) naar exacte coördinaten.
- Classificatie van incident-type op basis van de melding-tekst.
Voor developers betekent dit dat je drie integratie-opties hebt, elk voor een ander doel.
1. REST API — voor on-demand queries
Geschikt voor dashboards, statistieken en achteraf-analyse. 20+ endpoints, gepagineerd, JSON. Voorbeelden van wat je kunt opvragen:
GET /v1/incidents?region=brabant-noord&since=2026-05-01
GET /v1/incidents/{id}
GET /v1/vehicles?station=uden
GET /v1/stations?discipline=brandweer
GET /v1/statistics/monthly?year=2026
2. WebSocket — voor realtime monitoring
Geschikt voor kazerneschermen, live-kaarten en redactie-monitors. Een persistente verbinding levert elke melding binnen één seconde na ontvangst. Subscribers kunnen filteren op regio, discipline, of incident-type:
const ws = new WebSocket('wss://api.112radar.nl/v1/stream');
ws.onopen = () => ws.send(JSON.stringify({
subscribe: { regions: ['brabant-noord'], disciplines: ['brandweer'] }
}));
ws.onmessage = (e) => {
const incident = JSON.parse(e.data);
console.log(incident.priority, incident.message, incident.location);
};
3. Webhooks — voor server-to-server
Geschikt als je geen WebSocket-verbinding open wil houden of als je een serverless-architectuur hebt. Je registreert een endpoint, en bij elke matching melding krijg je een POST. De payload is HMAC-SHA256 gesigneerd, dus je weet zeker dat het bericht authentiek is:
POST https://jouw-app.nl/hooks/p2000
X-112Radar-Signature: sha256=...
Content-Type: application/json
{
"id": "evt_8f3b1c...",
"priority": "PRIO 1",
"discipline": "brandweer",
"message": "P 1 BR-02 BNDGB UDEN ...",
"location": { "lat": 51.66, "lon": 5.62, "address": "..." },
"vehicles": [{ "callsign": "20-2331", "station": "Uden" }],
"timestamp": "2026-05-22T13:42:08Z"
}
Privacy en juridische randvoorwaarden
P2000-meldingen bevatten regelmatig persoonsgegevens (adressen, soms patiëntinformatie bij ambulance-inzetten). De politie heeft sinds 2022 het overgrote deel versleuteld via C2000, dus die zie je niet meer in P2000-data. Brandweer en ambulance zijn nog wel in de klare uitlezing aanwezig, maar voor publicatie geldt: pas op met locatie-precisie bij gevoelige incidenten (ambulance-meldingen, suïcide-meldingen, verwarde personen).
De aggregatie-diensten passen op dit punt vaak filters toe, maar als je de ruwe data verwerkt ben je zelf verwerkingsverantwoordelijke onder de AVG.
Welke route past bij welk doel?
- Hobby / één-keer-experiment: RTL-SDR + Multimon-NG. Goedkoop, leerzaam, beperkt qua dekking.
- Productie-applicatie, low-traffic: REST API. Eenvoudig, geen verbinding open te houden, prima voor dagelijkse statistieken.
- Realtime kaart of dashboard: WebSocket. Sub-seconde latency.
- Server-to-server, event-driven architectuur: Webhooks. Geen connectie-management, ingebouwde signing.
- Kazerneschermen / inzetregistratie: Combinatie van WebSocket (live) en REST (historie).
Conclusie
De keuze in 2026 is niet langer "zelf bouwen of niets". Voor de meeste use-cases bespaar je maanden werk door een bestaande aggregator te gebruiken — die voor jou de ontvanger-infrastructuur, de capcode-database en de geocoding bijhoudt. De SDR-route blijft leerzaam, maar voor productie is hij zelden meer de juiste keuze.
Bouw je iets met P2000-data, of overweeg je dat? Stuur me een mail — ik praat er graag over mee.