API für Entwickler
Basis-URL: https://meldepuls.de/api · Datenquelle: RKI SurvStat@RKI 2.0 und RKI-GitHub (Influenza, RSV)
MeldePuls stellt wöchentliche RKI-Infektionsmeldedaten für 17 Krankheiten als JSON-API bereit —
national, auf Bundesland-Ebene und für alle 411 Meldegebiete der RKI-Kreisgliederung (Kreise und kreisfreie Städte, Berlin in 12 Bezirken). Die Daten stammen ausschließlich vom
Robert Koch-Institut (RKI) und werden mehrmals pro Woche automatisch aktualisiert.
Kein API-Key erforderlich. Die API ist kostenlos nutzbar unter Einhaltung der
Nutzungsbedingungen und Rate-Limits. Für höhere Limits steht der PRO-Plan zur Verfügung.
Authentifizierung
Für alle öffentlichen Endpunkte ist kein API-Key erforderlich. Anfragen ohne Token werden
per IP-Adresse rate-limitiert. PRO-Nutzer können über
Mein Account → API-Tokens einen persönlichen API-Token (mp_…) erstellen und
im Header Authorization: Bearer mp_… mitsenden. Er gilt für die Daten-Endpunkte, bringt höhere Limits
und schaltet die PRO-Historie frei. Ein ungültiger oder widerrufener Token führt zu HTTP 401.
https://meldepuls.de/api
Endpunkte
Gibt alle 17 überwachten Krankheiten zurück mit Code, deutschem Namen und Kategorie.
Nutze den code-Wert als disease-Parameter in allen anderen Endpunkten.
| Parameter | Typ | Pflicht | Beschreibung |
| Keine Parameter |
Beispiel
curl https://meldepuls.de/api/diseases
Antwort
[
{ "id": 1, "code": "Hantavirus", "name_de": "Hantavirus-Erkrankung", "category": "Zoonose", "is_monitored": true },
{ "id": 2, "code": "Influenza", "name_de": "Influenza (saisonal)", "category": "Atemweg", "is_monitored": true },
{ "id": 3, "code": "Norovirus", "name_de": "Norovirus-Gastroenteritis", "category": "GI-Trakt", "is_monitored": true },
...
]
Wöchentliche Fallzahlen für eine Krankheit auf nationaler Ebene (Deutschland gesamt),
inklusive Saisonkorridor (Min/Avg/Max der letzten 5 Referenzjahre).
| Parameter | Typ | Pflicht | Beschreibung |
| disease |
string |
Pflicht |
Krankheits-Code aus /api/diseases — z.B. Hantavirus |
| weeks |
integer |
Optional |
Anzahl Wochen zurück (Standard: 52). Ohne PRO höchstens 52, sonst Status 403. Mit PRO-Token im Header Authorization: Bearer … bis 1300 (25 Jahre). |
Beispiel
curl "https://meldepuls.de/api/cases/national?disease=Hantavirus&weeks=52"
Antwort
{
"disease": { "code": "Hantavirus", "name_de": "Hantavirus-Erkrankung" },
"region": "Deutschland",
"data_source": "RKI Open Data (GitHub)",
"has_real_data": true,
"corridor_ref_years": "2019–2023",
"series": [
{
"year": 2026,
"week": 20,
"week_label": "KW 20/2026",
"case_count": 42,
"is_real": true,
"corridor_min": 12,
"corridor_avg": 28,
"corridor_max": 67
},
...
]
}
Fallzahlen und Inzidenz pro 100.000 Einwohner für alle 16 Bundesländer,
für eine bestimmte Krankheit und Meldewoche. Standardmäßig wird die aktuellste verfügbare Woche zurückgegeben.
| Parameter | Typ | Pflicht | Beschreibung |
| disease |
string |
Pflicht |
Krankheits-Code, z.B. Influenza |
| year |
integer |
Optional |
Jahr der Meldewoche. Standard: aktuellste verfügbare Woche. |
| week |
integer |
Optional |
ISO-Kalenderwoche. Standard: aktuellste verfügbare Woche. |
Beispiel
curl "https://meldepuls.de/api/cases/regional?disease=Influenza"
Antwort
{
"disease": { "code": "Influenza", "name_de": "Influenza (saisonal)" },
"year": 2026,
"week": 20,
"regions": [
{ "code": "BY", "name_de": "Bayern", "case_count": 312, "per_100k": 2.38 },
{ "code": "NW", "name_de": "Nordrhein-Westfalen", "case_count": 287, "per_100k": 1.60 },
{ "code": "BW", "name_de": "Baden-Württemberg", "case_count": 198, "per_100k": 1.78 },
...
]
}
Wöchentliche Fallzahlen für eine Krankheit in einem bestimmten Landkreis (AGS-Schlüssel).
Unterstützt werden alle 411 Meldegebiete der RKI-Kreisgliederung in SurvStat: Kreise und kreisfreie Städte, Berlin aufgeteilt in 12 Bezirke. Die seit 01.01.2026 kreisfreie Stadt Hanau führt SurvStat derzeit nicht gesondert; ihre Fälle sind nach RKI-Gliederung beim Main-Kinzig-Kreis (06435) zu erwarten.
| Parameter | Typ | Pflicht | Beschreibung |
| disease |
string |
Pflicht |
Krankheits-Code, z.B. Hantavirus |
| ags |
string |
Pflicht |
5-stelliger AGS-Schlüssel (Amtlicher Gemeindeschlüssel), z.B. 09162 für München |
| weeks |
integer |
Optional |
Anzahl Wochen zurück (Standard: 52). Ohne PRO höchstens 52, sonst Status 403. Mit PRO-Token bis 260 (5 Jahre). |
Beispiel — Hantavirus in München (AGS 09162)
curl "https://meldepuls.de/api/cases/landkreis?disease=Hantavirus&ags=09162&weeks=52"
Antwort
{
"disease": { "code": "Hantavirus", "name_de": "Hantavirus-Erkrankung" },
"region": { "ags": "09162", "name_de": "München, Landeshauptstadt" },
"series": [
{ "year": 2026, "week": 20, "week_label": "KW 20/2026", "case_count": 3 },
{ "year": 2026, "week": 19, "week_label": "KW 19/2026", "case_count": 1 },
...
]
}
Code-Beispiele
Python
import requests
r = requests.get("https://meldepuls.de/api/cases/national", params={"disease": "Hantavirus", "weeks": 52})
data = r.json()
for point in data["series"][-4:]:
print(f"{point['week_label']}: {point['case_count']} Fälle")
JavaScript (fetch)
const res = await fetch("https://meldepuls.de/api/cases/national?disease=Hantavirus&weeks=52");
const data = await res.json();
console.log(`${data.series.at(-1).week_label}: ${data.series.at(-1).case_count} Fälle`);
curl
curl "https://meldepuls.de/api/cases/national?disease=Influenza&weeks=26" | python3 -m json.tool
Rate-Limits
| Zugang |
Limit |
Fenster |
Authentifizierung |
| Ohne Token |
300 Requests |
15 Minuten pro IP |
Kein Key erforderlich |
| Free-Konto |
500 Requests |
15 Minuten pro Konto |
Login-Token |
| PRO PRO |
2.000 Requests |
15 Minuten pro Konto |
API-Token aus Account → API-Tokens |
| Enterprise |
ohne Limit |
— |
API-Token |
Bei Überschreitung antwortet die API mit HTTP 429 und dem Header
Retry-After. Automatische Scraper bitte mit angemessenem Delay (≥ 1s zwischen Anfragen).
Response-Header
Jede API-Antwort enthält automatisch folgende Attribution-Header:
Nutzungsbedingungen
-
Quellenangabe Pflicht: Bei öffentlicher Nutzung der Daten muss die Quelle genannt werden:
„Daten: Robert Koch-Institut: SurvStat@RKI 2.0, https://survstat.rki.de, Abfragedatum; aufbereitet von MeldePuls"
-
Bedingungen des RKI beachten: SurvStat-Daten dürfen laut RKI mit Quellenangabe verwendet werden,
nicht zu werblichen Zwecken (Verwendung der Daten).
Influenza- und RSV-Daten aus den RKI-GitHub-Datensätzen stehen unter CC BY 4.0.
Weiterverkauf der unverarbeiteten Rohdaten ist nicht gestattet.
-
Rate-Limits einhalten: Automatisierte Zugriffe bitte mit angemessenen Delays.
Bei wiederholten Verstößen wird die IP gesperrt.
-
Keine Garantie: MeldePuls stellt die Daten nach bestem Wissen bereit.
RKI-Daten unterliegen einem Meldeverzug von 1–2 Wochen und können Nachmeldungen enthalten.
Für offizielle Informationen: rki.de
Höhere Limits oder Fragen?
PRO-Nutzer erhalten erhöhte Rate-Limits und einen persönlichen API-Token für Integrationen.
Bei Fragen oder für eine Kooperationsanfrage: support@meldepuls.de
Jetzt PRO buchen →
Über die Daten
Alle Daten stammen ausschließlich vom Robert Koch-Institut (RKI) über die offizielle
SurvStat@RKI 2.0 SOAP-API sowie
offizielle RKI GitHub-Repositories. Es handelt sich ausschließlich um laborbestätigte, nach
Infektionsschutzgesetz (IfSG) meldepflichtige Fälle. Weitere Details zur Methodik und
bekannten Limitationen (Meldeverzug, Dunkelziffer) unter Methodik & Datenquellen.
Häufige Fragen
Brauche ich einen API-Key?
Nein. Alle öffentlichen Endpunkte funktionieren ohne Key, begrenzt auf 300 Anfragen je 15 Minuten pro IP-Adresse. Mit Free-Konto sind es 500, mit PRO-Token 2.000 Anfragen je 15 Minuten.
Wie oft werden die Daten aktualisiert?
MeldePuls ruft die RKI-Daten montags, dienstags, mittwochs und samstags automatisch ab, Landkreisdaten samstags. Das Feld data_as_of bzw. /api/status zeigt den letzten erfolgreichen Abruf.
Wie viel Historie bekomme ich ohne PRO?
Ohne PRO bis zu 52 Wochen national und je Landkreis, bei der Heatmap bis zu 3 Jahre. Mit PRO-Token sind es bis zu 1.300 Wochen national, 260 Wochen je Landkreis und 10 Jahre Heatmap. Größere Werte ohne PRO beantwortet die API mit Status 403.
Welche Woche soll ich für Trends verwenden?
Die Felder
reference_count und
reference_trend_pct beziehen sich auf die Referenzwoche, eine Woche vor der letzten abgeschlossenen. Die älteren Felder
current_week und
trend_pct bleiben unverändert, können aber eine unvollständige Woche enthalten. Details:
Methodik.
Was passiert, wenn ich das Limit überschreite?
Die API antwortet mit Status 429 und dem Header Retry-After. Ein ungültiger oder widerrufener Token führt zu Status 401.
Darf ich die Daten in meinem Produkt verwenden?
Bitte immer die Quelle nennen. SurvStat-Daten dürfen laut RKI mit Quellenangabe verwendet werden, nicht zu werblichen Zwecken; Influenza- und RSV-Daten aus RKI-GitHub stehen unter CC BY 4.0. Ob eine bestimmte Nutzung zulässig ist, klären Sie im Zweifel direkt mit dem RKI (
Verwendung der Daten).