Voor ontwikkelaars

De P2000 data-API

Realtime P2000-meldingen voor je eigen toepassing, via een eenvoudige REST-API. De data komt uit onze eigen landelijke ontvanger — geen doorverkochte feed van derden — en wordt verrijkt met de gealarmeerde eenheden en (waar mogelijk) een gegeocodeerde locatie.

Sleutel aanvragen Documentatie

Waarom deze API

Prijzen

Sandbox

Gratis
  • 1.000 requests per maand
  • 20 requests per minuut
  • Volledige toegang tot de endpoints
  • Ideaal om te testen en te bouwen

De kleine lettertjes

Sleutels worden op dit moment persoonlijk uitgegeven — mail even en je hebt er meestal dezelfde dag één. Zakelijke of hoog-volume behoeften? Ook mailen.


Documentatie

Basis-URL & authenticatie

Alle endpoints leven onder https://alarmeringenp2000.nl/v1. Stuur je API-sleutel mee in de header:

curl "https://alarmeringenp2000.nl/v1/messages?limit=5" \
  -H "x-api-key: p2k_live_JOUW_SLEUTEL"

Zonder geldige sleutel krijg je 401. Bij het bereiken van je maandquota 429 met code: "quota_exceeded"; bij te snel stapelen code: "rate_limited". Elke response is JSON in de vorm { "data": …, "count": … }.

Endpoints

Methode & padBeschrijving
GET /v1/messagesLijst meldingen, nieuwste eerst. Filters: priority (A0/A1/A2/B1/B2/P 1/P 2), priorityLevel (all/p1/p1p2), capcode, fromDate, toDate (ISO 8601 met offset), limit (max 100), offset (max 5000).
GET /v1/messages/:idEén melding met alle velden.

Voorbeeld-response

{
  "data": [
    {
      "id": "113250",
      "receivedAt": "2026-07-26T13:18:46.362Z",
      "source": "pi-chris-1",
      "priority": "A2",
      "rawMessage": "A2 Utrecht 122874",
      "capcodes": ["726145"],
      "discipline": "Ambulance",
      "region": "Utrecht",
      "units": [
        { "capcode": "726145", "description": "09-145" }
      ],
      "location": {
        "city": "Utrecht",
        "lat": 52.09, "lon": 5.12,
        "precision": "city"
      }
    }
  ],
  "count": 1
}

location.precision is street, city, region of null — afhankelijk van hoeveel de meldtekst prijsgeeft. Niet elke uitzending draagt een locatie; velden zijn dan null.

Bouw 'm met AI

Werk je met Claude Code, Cursor of een andere AI-assistent? Plak dit blok in je prompt en je hebt in één keer een werkende client:

Bouw een client voor de Alarmeringen P2000 data-API.
Basis-URL: https://alarmeringenp2000.nl/v1
Auth: header "x-api-key: p2k_live_..."
Endpoint: GET /v1/messages?limit=50&priorityLevel=p1
Response: { data: [{ id, receivedAt, source, priority, rawMessage,
  capcodes[], discipline, region, units[{capcode, description}],
  location{city, lat, lon, precision} }], count }
Poll elke 30 seconden; toon nieuwe meldingen chronologisch.

Limieten & eerlijk gebruik

Aan de slag — vraag je sleutel aan