Public API
Travel RiskMap stellt zwei kostenlose Read-only-JSON-Endpoints bereit: aktuelle Warnstufen und ausführliche Sicherheitstexte des Auswärtigen Amts für rund 200 Länder — dieselben Daten, die auch die Risiko-Karte und die Länderseiten anzeigen. Kein API-Key nötig, CORS ist offen (direkt aus Browser-Apps nutzbar). Fair-Use-Limit: 300 Anfragen pro Stunde und IP-Adresse — für das empfohlene stündliche Abfragen mehr als genug.
Endpoints
Aktuelle Warnstufen pro Land aus dem OpenData-Feed des Auswärtigen Amts, dazu unsere Lesart der Amtstexte (notice, abgeraten, teilAbgeraten, regions, restStufe, borderWarnings). Die Warnstufen des Amts werden zweimal täglich aktualisiert (gegen 06:00 und 12:00 UTC), unsere Lesart montags und mittwochs mit den Texten.
Antwort-Schema
{
"lastUpdated": "2026-05-04T12:00:07.254Z",
"source": "live",
"count": 199,
"data": {
"TH": {
"level": 0,
"warning": false,
"partialWarning": false,
"countryName": "Thailand",
"notice": true,
"regions": { "TH-96": 1 },
"borderWarnings": { "MM": 2 }
},
"CD": {
"level": 2,
"warning": false,
"partialWarning": true,
"countryName": "Demokratische Republik Kongo",
"regions": { "CD-IT": 3, "CD-KN": 2 },
"restStufe": {
"stufe": 2,
"satz": "Von nicht notwendigen Reisen in die übrigen Landesteile der Demokratischen Republik Kongo einschließlich der Hauptstadt Kinshasa wird abgeraten.",
"ausgenommen": [],
"dringend": false,
"nurNichtNotwendige": true
}
},
...
}
}
| Feld | Typ | Bedeutung |
|---|---|---|
level | 0, 2 oder 3 | Die Einstufung des Auswärtigen Amts, unverändert übernommen: 0 = keine Reisewarnung · 2 = Teilreisewarnung · 3 = Reisewarnung. Eine Stufe 1 vergibt das Amt nicht — „Einschränkungen" auf der Risiko-Karte ist unsere Lesart seines Texts und steht in teilAbgeraten (und als level in /api/texts) |
notice | bool | Level 0, aber das Auswärtige Amt meldet etwas Außergewöhnliches: eine aktuelle Lage (Rubrik „Aktuelles"), schwere Kriminalität, Unruhen, eine erhöhte Terrorwarnstufe oder staatliche Willkür — auf der Karte die hellgrüne „Hinweise"-Stufe. Gelesen aus dem Amtstext, nicht aus unserer Zusammenfassung |
abgeraten | object | Nur vorhanden, wenn das Auswärtige Amt von Reisen in das ganze Land abrät, ohne eine (Teil-)Reisewarnung auszusprechen — auf der Karte der gelbe Status „Von Reisen wird abgeraten". satz ist der Satz des Amts im Wortlaut; dringend und nurNichtNotwendige sagen, ob es „dringend" abrät oder nur von „nicht notwendigen Reisen". Rät das Amt nur von einer Region, einer Stadt oder einem Grenzgebiet ab, fehlt das Feld. |
teilAbgeraten | object | Nur vorhanden, wenn das Auswärtige Amt im Text von Reisen in einzelne Gebiete abrät, ohne eine (Teil-)Reisewarnung auszusprechen — auf der Karte die Stufe 1 „Einschränkungen". satz ist der Satz des Amts im Wortlaut; verweist er nur auf vorher genannte Gebiete, steht der Satz mit den Gebieten in bezug. |
regions | object | ISO-3166-2-Code → Level 0–3 für einzelne Bundesstaaten, Provinzen oder Bezirke (z.B. "TH-96": 1). Nur in den rund 90 Ländern mit Regionsgrenzen und nur, wenn der Amtstext einzelne Regionen nennt; welche das sind und wie sie eingestuft werden, liest eine KI aus dem Text — es ist keine Einstufung des Amts. Nicht aufgeführte Regionen: unter einer Reisewarnung (level 3) oder bei landesweitem Abraten (abgeraten) gilt das für jede Region; unter einer Teilreisewarnung mit restStufe tragen sie deren stufe, und auch keine aufgeführte Region liegt darunter — beides außer den Regionen in restStufe.ausgenommen; sonst sind sie nicht eigens betroffen (die Karte zeigt sie mit 0, in einem Land mit notice ohne teilAbgeraten mit „Hinweise"). Rät das Amt im ganzen Land von nichts ab (level 0 ohne teilAbgeraten und abgeraten), trägt keine Region „Einschränkungen": eine 1 zeigt die Karte dann als „Hinweise" (mit notice) oder mit der Stufe des Landes, eine eigene 0 wie jede nicht aufgeführte Region. Fehlt das Feld ganz, gilt eine Teilreisewarnung (level 2) für jede Region, weil sie sich keinem Gebiet zuordnen lässt — mit restStufe gilt auch dann deren stufe; bei teilAbgeraten oder notice zeigt jede Region „Hinweise". |
restStufe | object | Nur unter einer Teilreisewarnung (level 2) und nur, wenn das Auswärtige Amt im Text auch von Reisen in die übrigen Landesteile abrät oder davor warnt (z.B. „Von nicht notwendigen Reisen in die übrigen Landesteile … wird abgeraten"). stufe ist die Stufe jeder Region, die das Amt nicht eigens nennt: 2 bei „abgeraten", 3 bei „gewarnt". satz ist der Satz des Amts im Wortlaut, ausgenommen die ISO-3166-2-Codes der Regionen, die es ausdrücklich ausnimmt (z.B. ["ET-AA"] bei „mit Ausnahme der Hauptstadt Addis Abeba" — die Karte zeigt sie mit 0), ausnahme die Ausnahme im Wortlaut; dringend und nurNichtNotwendige wie bei abgeraten. Meint der Satz nur den Rest einer Insel, einer Region oder eines Grenzgebiets (etwa „andere Regionen von Mindanao"), fehlt das Feld. |
borderWarnings | object | Nachbar-ISO2 → Level 1–3 (z.B. "MM": 2 = Hinweis zum Grenzgebiet Richtung Myanmar) — aus dem Amtstext gelesen, auf der Karte als Linie entlang der Grenze |
countryName | string | Deutscher Ländername vom Auswärtigen Amt |
Ausführliche Sicherheits- und Einreise-Texte pro Land, inklusive einem kurzen Lagebild-Satz (reasoning). Aktualisierung montags und mittwochs gegen 12:00 UTC. entry (Visum-Satz), entryDocs (Reisedokumente Ja/Nein plus Gültigkeitszeile), visa (Visum-Regime: free · on_arrival · online · required · unknown, mit stayText, until, auth, fee, conditions und dem Amts-Satz sentence) und aktuelles (Titel der „Aktuelles"-Meldungen) stammen wörtlich vom Auswärtigen Amt, ohne Sprachmodell. level ist unsere Lesart des Amtstexts (1 = das Amt rät von Reisen in einzelne Gebiete ab, sonst 0); security und reasoning fasst eine KI aus dem Amtstext zusammen, regions und borderWarnings sind unsere Zuordnung aus demselben Text. aaUpdatedAt ist der Zeitpunkt, zu dem das Auswärtige Amt die Länderseite zuletzt geändert hat.
Antwort-Schema
{
"lastUpdated": "2026-05-04T12:00:07.254Z",
"count": 195,
"data": {
"TH": {
"level": 1,
"security": "Punktuelle Hinweise zu Grenzgebieten…",
"entry": "Deutsche Staatsangehörige benötigen für touristische Aufenthalte bis 60 Tage kein Visum.",
"entryDocs": {
"passport": { "ok": true, "note": "" },
"tempPassport": { "ok": true, "note": "" },
"idCard": { "ok": false, "note": "" },
"tempIdCard": { "ok": false, "note": "" },
"childPassport": { "ok": true, "note": "" },
"validity": "Reisedokumente müssen bei Einreise noch mindestens sechs Monate gültig sein."
},
"aktuelles": [ "Sicherheitslage im Grenzgebiet zu Kambodscha" ],
"aaUpdatedAt": "2026-08-26T09:14:00.000Z",
"regions": { "TH-96": 1 },
"borderWarnings": { "MM": 2 },
"reasoning": "…",
"autoBumped": false,
"updatedAt": "2026-05-04T12:00:07.254Z"
},
...
}
}
Länderverzeichnis: alle Länder mit deutschem Namen, die Liste der Länder mit Regionsgrenzen in der Karte (Bundesstaaten, Provinzen, Bezirke) und die Gesamtzahl. Ändert sich selten, eine Stunde cachebar.
Antwort-Schema
{
"count": 205,
"countries": [ ["AD", "Andorra"], ["AE", "Vereinigte Arabische Emirate"], ... ],
"admin1": [ "AE", "AF", "AR", ... ]
}
Caching, Rate-Limit & Stabilität
Beide Endpoints senden Cache-Control: public, max-age=60 und einen ETag — wer mit If-None-Match anfragt, bekommt bei unveränderten Daten ein schlankes 304 statt der vollen Antwort. Die Daten ändern sich realistisch zweimal täglich (Warnstufen) bzw. zweimal pro Woche (Texte). Empfohlenes Abfrage-Intervall: stündlich oder seltener.
Rate-Limit: 300 Anfragen pro Stunde und IP-Adresse (beide Endpoints zusammen). Darüber antwortet der Server mit 429. Für reguläre Nutzung ist das Limit nicht spürbar.
Schema-Stabilität: Dokumentierte Felder bleiben erhalten und behalten ihre Bedeutung. Neue Felder können jederzeit hinzukommen — bitte unbekannte Felder tolerant ignorieren, statt strikt zu validieren.
Attribution & Lizenz
Datenherkunft
Die Daten stammen aus dem OpenData-Feed des Auswärtigen Amts der Bundesrepublik Deutschland und stehen unter der Datenlizenz Deutschland — Namensnennung — Version 2.0 (dl-de/by-2-0). Bei Verwendung bitte Auswärtiges Amt als Original-Quelle nennen.
Travel RiskMap als Aggregator
Die zusätzliche Einordnung — die Stufe „Einschränkungen", der Status „Von Reisen wird abgeraten", Regionen und Grenzgebiete — ist eine Eigenleistung von Travel RiskMap (Methodik: siehe Über uns). Bei API-Nutzung bitten wir um eine sichtbare Attribution mit Verlinkung auf travelriskmap.de, z. B. „Daten via Travel RiskMap (Quelle: Auswärtiges Amt)" oder „Powered by Travel RiskMap".
Tipp: fertige Länderseiten verlinken
Wer keine eigene Darstellung bauen will, kann direkt auf unsere Länderseiten verlinken — z. B. travelriskmap.de/laender/thailand. Dort stehen Warnstufe, regionale Hinweise, Grenzhinweise und Einreise-Informationen stets aktuell.
Beispiel — Browser / curl
curl -s https://www.travelriskmap.de/api/warnings | jq '.data.TH' curl -s https://www.travelriskmap.de/api/texts | jq '.data.TH.security'
Hinweis zur Verbindlichkeit
Diese API ersetzt keine offizielle Beratung. Verbindlich sind allein das Auswärtige Amt sowie die Botschaft oder das Konsulat des Reiselandes. Travel RiskMap übernimmt keine Gewähr für Aktualität, Vollständigkeit oder Richtigkeit und keine Haftung für Reise-Entscheidungen, die auf Basis dieser Daten getroffen werden.
Kontakt & Bug-Reports
Fehlermeldungen, Schema-Wünsche oder Fragen zu höherem Abruf-Volumen: hello@travelriskmap.de — weitere Angaben im Impressum · Datenschutz · Nutzungsbedingungen.