# Zwaailicht.nl

> Live P2000-alarmeringen van de Nederlandse hulpdiensten (brandweer, ambulance, politie, traumahelikopter en KNRM), in real time ontvangen van een eigen SDR-antenne, automatisch verrijkt, geclusterd tot pieken en gereconstrueerd tot incidenten met nieuwskoppeling.

## Over deze bron

- Eigen ontvanger, geen tussenpartij: P2000 wordt rechtstreeks van de antenne opgevangen (FLEX/SDR, ~95% van de meldingen) plus een RSS-fallback.
- Alle samenvattingen en sociale berichten worden automatisch gegenereerd en overal als zodanig gelabeld (EU AI-verordening art. 50). Geen menselijke redactie.
- Hergebruik is toegestaan mits elk overgenomen item een zichtbare link naar de bijbehorende pagina bevat. Voorwaarden: https://zwaailicht.nl/voorwaarden

## Markdown-versies voor agents

Elke belangrijke pagina heeft een schone markdown-versie via de `.md`-suffix:

- https://zwaailicht.nl/index.md — wat er nu speelt (voorpagina)
- https://zwaailicht.nl/meldingen.md — landelijke tijdlijn van recente meldingen
- https://zwaailicht.nl/meldingen/brandweer.md — per dienst (ook ambulance, politie, lifeliner, knrm)
- https://zwaailicht.nl/{stad}.md — stadspagina (bijv. https://zwaailicht.nl/amsterdam.md)
- https://zwaailicht.nl/{stad}/{dienst}.md — stad gefilterd op dienst
- https://zwaailicht.nl/pieken/{scope}/{datum}/{id}.md — piek/incident-detail
- https://zwaailicht.nl/{stad}/{type}/{datum}/{id}.md — losse melding-detail

## Agent API

Naast de markdown-pagina's is er een read-only JSON/markdown API voor machineclients. Geen sleutel nodig.

- API-root: https://zwaailicht.nl/api/v1/
- OpenAPI: https://zwaailicht.nl/api/v1/openapi.json
- Zoeken: https://zwaailicht.nl/api/v1/search?q=...
- Meldingen: https://zwaailicht.nl/api/v1/messages
- Pieken (gereconstrueerde incidenten): https://zwaailicht.nl/api/v1/pieken
- Incidentdossier in één request: https://zwaailicht.nl/api/v1/pieken/{id}/context
- Herkomst van een piek: https://zwaailicht.nl/api/v1/pieken/{id}/provenance
- Statistiek: https://zwaailicht.nl/api/v1/stats/pieken?group_by=day

De API herpubliceert de letterlijke P2000-pagertekst niet (net als de Atom-feeds): per melding krijg je Zwaailichts eigen lezing — een gegenereerde titel en omschrijving plus de herkende velden.

Begrippen: een *message* is één P2000-alarmering (een directe waarneming); een *piek* is een gereconstrueerd incident, samengesteld uit meldingen die in tijd en ruimte bij elkaar horen. Titels, samenvattingen en coherentie-oordelen zijn machinaal gegenereerd en zijn geen onafhankelijk geverifieerde feiten — `provenance` zegt per piek wat waargenomen, afgeleid of gegenereerd is.

Elke resource ondersteunt `Accept: application/json` (standaard) en `Accept: text/markdown`. Paginering gaat via cursors, niet via offsets. Fouten zijn RFC 9457 problem details. Huisnummers worden overal weggelaten.

## Pagina's

- [https://zwaailicht.nl/](https://zwaailicht.nl/) — voorpagina: lopende pieken, ruw signaal, ranglijst
- [https://zwaailicht.nl/kaart](https://zwaailicht.nl/kaart) — live kaart
- [https://zwaailicht.nl/meldingen](https://zwaailicht.nl/meldingen) — doorzoekbare tijdlijn
- [https://zwaailicht.nl/pieken](https://zwaailicht.nl/pieken) — gedetecteerde activiteitspieken
- [https://zwaailicht.nl/ranglijst](https://zwaailicht.nl/ranglijst) — drukste gemeenten
- [https://zwaailicht.nl/nieuws](https://zwaailicht.nl/nieuws) — nieuws gekoppeld aan pieken
- [https://zwaailicht.nl/blog](https://zwaailicht.nl/blog) — achtergrond + weekoverzichten
- [https://zwaailicht.nl/hoe-het-werkt](https://zwaailicht.nl/hoe-het-werkt) — de verwerkingspijplijn
- [https://zwaailicht.nl/over](https://zwaailicht.nl/over) — over Zwaailicht.nl
- [https://zwaailicht.nl/faq](https://zwaailicht.nl/faq) — veelgestelde vragen

## Feeds (Atom)

- https://zwaailicht.nl/feed/meldingen.xml — alle meldingen (?filter=zwaailicht|all)
- https://zwaailicht.nl/feed/meldingen/{dienst}.xml — per dienst
- https://zwaailicht.nl/feed/pieken.xml — pieken
- https://zwaailicht.nl/feed/{stad}/meldingen.xml — per stad

## Diensten

- **Brandweer** (brandweer) — Brandweer
- **Ambulance** (ambulance) — Ambulance
- **Politie** (politie) — Politie
- **Lifeliner** (lifeliner) — Traumahelikopter
- **KNRM** (knrm) — Reddingsbrigade

## Incidenttypen

- **Brand** (`/brand`) — subtypes: `/woningbrand`, `/gebouwbrand`, `/voertuigbrand`, `/buitenbrand`, `/industriebrand`, `/brandgerucht`
- **Medisch** (`/medisch`) — subtypes: `/spoedgeval`
- **Verkeer** (`/verkeer`) — subtypes: `/wegongeval`, `/verkeersongeval-met-letsel`, `/aanrijding-materieel`, `/spoorwegongeval`, `/vliegtuigongeval`
- **Hulpverlening** (`/hulpverlening`)
- **Water** (`/water`)
- **Gevaarlijke stoffen** (`/gevaarlijke-stoffen`)
- **Geweld** (`/geweld`) — subtypes: `/steekpartij`, `/schietpartij`, `/overval`, `/inbraak`, `/achtervolging`, `/vechtpartij`
- **Groot incident** (`/grip`) — subtypes: `/grip-incident`

## Populaire steden

rotterdam, amsterdam, den-haag, eindhoven, tilburg, utrecht, breda, almere, arnhem, delft, zoetermeer, leiden, nijmegen, dordrecht, voorburg, apeldoorn, haarlem, den-bosch, schiedam, lelystad

## Meer

- Volledige referentie in één bestand: https://zwaailicht.nl/llms-full.txt
- Sitemap: https://zwaailicht.nl/sitemap.xml
