Voor ontwikkelaars

P2000 API voor ontwikkelaars

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

Prijs

De kleine lettertjes

Sleutels worden op dit moment persoonlijk uitgegeven. Vul hieronder je toepassing in; we reageren meestal dezelfde dag. Ook zakelijke of hoog-volume toepassingen kunnen dit formulier gebruiken.

Vraag een API-sleutel aan

Vertel kort wat je wilt bouwen. Je ontvangt daarna persoonlijk de vervolgstappen en je sleutel.


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 ChatGPT Codex, 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