API & Daten-Endpoints
BRDMap stellt seine Aggregat-Daten in mehreren maschinenlesbaren Formaten zur Verfügung. Frei nutzbar, kein Authentication-Token, kein Sign-up. Fair-Use: bitte nicht öfter als alle ~10 Minuten pollen, die Quelle wird alle 20 Minuten neu gebaut (synchron zum Backend-Polling).
brdmap.de attribuieren und auf die Originalquelle
(Feld external_url bzw. source_url) verlinken.
JSON-Snapshot — alle aktiven Events
Stündlich aus der Live-DB neu generiert (statischer Snapshot). Enthält
alle Events des 30-Tage-Fensters mit allen Feldern (Geocodes, Kategorie,
Severity, Lifecycle-Status). Für Realtime-Daten siehe /events
weiter unten.
Endpoint: https://brdmap.de/events.json
Format: JSON-Array
Update: Static-Rebuild alle 20 Min, synchron zum Backend-Polling
Beispiel: /events.json (~1-2 MB unkomprimiert)
Live-Endpoint — aktuelle Events aus DB
Direkter Zugriff auf den FastAPI-Worker. Liefert die gleichen Daten wie
events.json, aber realtime — ohne Wartezeit auf den nächsten
Stunden-Build. Wird vom Live-Update-Banner der Karte verwendet.
Endpoint: https://brdmap.de/events
Query-Parameter (alle optional):
?hours=N — Zeitfenster in Stunden, Default 720 (= 30 Tage)
?limit=N — max Events, Default 1000
?severity_min=N — nur Events mit Severity ≥ N (1–5)
?category=KEY oder ?category=KEY1,KEY2,... — CSV der Kategorie-Codes (BRAND_FEUER, UNFALL_VERKEHR, KRIMINALITAET, POLIZEIEINSATZ, WETTER_NATUR, KATASTROPHE, DEMO_STREIK, POLITIK, GROSSEVENT)
Format: JSON-Array
Beispiel: ?severity_min=4&hours=24 liefert nur schwere Vorfälle der letzten 24 Stunden
(Severity ≥ 4, also NINA-Warnungen, Großbrände, schwere Verkehrsunfälle etc.),
?category=BRAND_FEUER,UNFALL_VERKEHR&hours=168 nur Brände und Unfälle der letzten Woche.
Hauptseiten-Permalinks
Die Live-Karte unter brdmap.de/ persistiert ihren Filter-Status in der URL —
jeder Filter-Klick aktualisiert die Adresse, jeder Permalink stellt den Filter-State
beim Empfänger wieder her. Damit lassen sich gezielte Lagen mit ein-, zwei- oder
dreidimensionalen Filtern teilen, ohne ein eigenes Dashboard bauen zu müssen.
Filter-Parameter auf https://brdmap.de/:
?q=... — Stichwort-Suche (Token-AND-Match auf Title, Summary, Stadt, Kategorie, Quelle)
?state=BY,NW,HE — CSV der Bundesland-Codes
?cat=BRAND_FEUER,UNFALL_VERKEHR — CSV der Kategorien
?hours=24|48|168|720|-1 — Zeitraum-Pill (24h, 48h, 7T, 30T, alle); fehlt = Default 48h
?sev=4 — Mindest-Severity (typisch 4 für den „Schwer ≥4"-Schnellfilter)
?missing=1 — nur Vermisstensuchen (Title oder Summary enthält „vermisst" / „Suchplakat")
?from=2026-04-22&to=2026-04-28 — tagesgenaue Range aus dem Histogramm-Slider; überschreibt hours
Beispiele: /?state=BY&sev=4
zeigt schwere Lagen in Bayern. /?missing=1
filtert auf aktive Vermisstensuchen bundesweit. /?cat=BRAND_FEUER&hours=24
zeigt nur Brände der letzten 24 Stunden. /?from=2026-04-22&to=2026-04-28&cat=UNFALL_VERKEHR
filtert auf Verkehrsunfälle in einer konkreten Woche. Eigene Polygon-Regionen
(„Eigener Bereich" via Pinsel-Tool) werden bewusst nicht in der URL
persistiert — sie bleiben ephemer im Browser.
RSS-Feeds
Klassisches Pull-Format für Feed-Reader, IFTTT, Discord-Bots, Mastodon-Bots oder Smart-Home-Notifications.
Bundesweit: /feed.xml (100 aktuellste)
Pro Bundesland: /bundesland/{slug}.rss —
16 Feeds (z. B. bayern.rss)
Pro Kategorie: /kategorie/{slug}.rss —
9 Feeds (z. B. brand.rss)
Slugs: baden-wuerttemberg, bayern, berlin, brandenburg, bremen,
hamburg, hessen, mecklenburg-vorpommern, niedersachsen, nordrhein-westfalen,
rheinland-pfalz, saarland, sachsen, sachsen-anhalt, schleswig-holstein, thueringen
Kategorien: brand, unfall, kriminalitaet, polizei, wetter, katastrophe, demo, politik, grossevent
Sitemap
Endpoint: /sitemap.xml
Mit Google-News-Namespace (news:news) für Events <48 h.
Per-Event-Markdown
Jede News-Detail-Seite hat zusätzlich eine Markdown-Variante mit YAML-Frontmatter — speziell für LLM-Retrieval-Pipelines, Discord-Bots oder saubere Plain-Text-Verarbeitung.
HTML: https://brdmap.de/news/{slug}.html
Markdown: https://brdmap.de/news/{slug}.md
(gleicher Slug, einfach .html → .md)
Frontmatter-Felder: title, slug, canonical_url, category, bundesland, ort,
occurred_at, expires_at, cancelled_at, severity, latitude, longitude,
source, source_url, tags
LLM-Discovery
Folgt der llmstxt.org-Konvention. AI-Crawler (Claude, ChatGPT, Perplexity, Gemini, …) finden hier eine Markdown-Zusammenfassung der Site sowie eine Voll-Liste der aktiven Schlagzeilen.
Kompakt: /llms.txt
(Site-Beschreibung, Datenquellen, Hub-Links)
Voll-Index: /llms-full.txt
(aktuelle Schlagzeilen pro Kategorie und Bundesland, mit jedem Static-Rebuild neu)
robots.txt — AI-Crawler-Policy
BRDMap erlaubt explizit alle gängigen AI-Crawler (GPTBot, ClaudeBot, Google-Extended, PerplexityBot, Applebot-Extended, Meta-ExternalAgent, MistralAI-User, …) zusätzlich zur Wildcard-Regel. Ziel: möglichst breite Verfügbarkeit der Daten in Antwort-Engines.
Endpoint: /robots.txt
Beispiel: Event-Objekt-Schema
{
"id": "a35b2649-881d-4eb0-bcd1-0f4264f9cd2f",
"title_de": "Einbruch in Wohnhaus — Kripo sucht Zeugen",
"summary_de": "Unbekannte Täter sind am Samstag …",
"category": "KRIMINALITAET",
"category_slug": "kriminalitaet",
"category_label": "Kriminalität",
"geo_state": "BY",
"state_name": "Bayern",
"state_slug": "bayern",
"geo_city": "Aßling",
"lat": 47.99,
"lon": 12.00,
"geo_confidence": 0.41,
"severity": 2,
"occurred_at": "2026-05-04T14:56:00+00:00",
"ingested_at": "2026-05-04T15:04:01.223481+00:00",
"expires_at": null,
"cancelled_at": null,
"external_url": "https://www.polizei.bayern.de/…",
"source_name": "polizei_bayern",
"source_display": "Polizei Bayern (alle Praesidien)",
"sub_tags": ["Einbruch", "Einfamilienhaus", "Zeugensuche"],
"news_slug": "20260504-aling-einbruch-…-38ebe8e4"
}
Severity-Skala
- 1 – Info: kein konkreter Vorfall (Pressedienst-Statistik, Tagesüberblick, Präventionstipp). Filtert der Klassifikator meist als
is_event=false. - 2 – Routine: Vorfall ohne Personenschaden. Ladendiebstahl, Sachbeschädigung, Wohnungseinbruch ohne Anwesende, Verkehrsunfall mit Blechschaden, Brand ohne Personenrisiko. Häufigste Stufe.
- 3 – Erheblich: Vorfall mit Personenschaden oder überregionaler Beachtung. Verkehrsunfall mit Verletzten, Raubüberfall, schwere Körperverletzung, Wohnungsbrand mit Bewohner-Gefährdung, SEK-Einsatz, Vermisstensuche bei Kindern.
- 4 – Dringend: Amtliche NINA-Warnung (MoWaS/KATWARN/BIWAPP), Großbrand, Gefahrgut-Einsatz mit Anwohner-Beeinträchtigung, Verkehrsunfall mit Schwerverletzten oder Toten, mehrstündige Polizeilage.
- 5 – Kritisch: Akute Lebensgefahr für viele Menschen. MANV, Hochwasser-Großlage, atomare/biologische/chemische Lage, Anschlag, terror-bezogene Lage. Sehr selten.
Hinweis: Die Klassifikation läuft automatisch über ein Sprachmodell —
es gibt Grauzonen, vor allem zwischen SEV 2 und SEV 3. Der UI-Filter
„?sev=4" auf der Karte zeigt zuverlässig nur Großschadenslagen.
Embed-Widget
Eine kompakte iframe-fähige Mini-View der Live-Lage zum Einbinden in externe Seiten (lokale Nachrichten, Behörden-Portale, Blogs, Dashboards). Ohne Tracking, ohne Cookies, ohne externe CDNs — DSGVO sauber per Definition.
<iframe src="https://brdmap.de/embed.html?state=BY&hours=24"
loading="lazy" frameborder="0"
width="100%" height="420"
style="border:0; max-width:480px"
title="Live-Lage Bayern · BRDmap"></iframe>
URL-Parameter (alle optional):
state– CSV der Bundesland-Codes, z. B.BY,BW,HE. Default: alle.cat– CSV der Kategorien, z. B.BRAND_FEUER,UNFALL_VERKEHR. Default: alle.hours– Zeitfenster in Stunden. Default24, Maximum168(7 Tage).sev– Mindest-Severity 1–5. Default0(alle).limit– Anzahl Events in der Liste. Default5, Maximum20.theme–dark(Default),lightoderauto(folgtprefers-color-scheme).
Beispiele: ?state=BY&sev=4 zeigt nur schwere Lagen in Bayern.
?cat=BRAND_FEUER&hours=72&limit=10 zeigt die zehn jüngsten Brände
der letzten drei Tage. ?state=NW&theme=light ist die light-Theme-
Variante für NRW.
Der Footer-Link „Vollständige Karte" führt mit den gleichen Filtern auf
brdmap.de — der Embed ist also auch ein Discovery-Funnel zur Hauptseite.
Live-Polling alle 60 s über /events, pausiert wenn das Iframe nicht
sichtbar ist (IntersectionObserver). Die Embed-Page selbst ist
noindex,nofollow — nur Bestandteil des einbindenden Hosts.
Kontakt
Fragen, Bug-Reports, Lizenz-Klärungen: siehe Impressum.
Stand: 2026-05-06