# Bundesbank SDMX Web Service API 1. Was ist die Bundesbank SDMX Web Service API? ----------------------------------------------- [Bundesbank SDMX Web Service API](https://api.statistiken.bundesbank.de/doc/index.html?urls.primaryName=Deutsche%20REST%20API%20Dokumentation){#par-oui7o8} Die Bundesbank stellt mit dieser API eine technische Schnittstelle bereit, über die statistische Daten automatisiert abgerufen werden können. Die Daten werden über einfache Webadressen (URLs) bereitgestellt und können direkt in Anwendungen eingebunden werden.{#par-ee77i3} Bereitgestellte Inhalte:{#par-aio7e5} * Statistische Daten (z. B. makroökonomische Zeitreihen,Echtzeitdaten) Metadaten zu den Daten {#par-eu5i34} * Datenformate: SDMX-ML 2.1, SDMX-JSON, CSV Metadaten nur als SDMX-ML {#par-eu5i34} Technische Grundlagen:{#par-e678eu} * REST-API (d. h. Kommunikation über standardisierte Webadressen) {#par-u5i3eo} * Standardformat: JSON {#par-u5i3eo} * Übertragung per HTTPS (verschlüsselt) {#par-u5i3eo} Die API wird regelmäßig aktualisiert{#par-a737e7} Weitere Infos zu SDMX: [sdmx.org](https://sdmx.org/){#par-a49e63} 2. Daten abrufen ---------------- ### 2.1. Einzelne Zeitreihen abrufen **Endpunkt** : /data/{flowRef}/{key}{#par-oa4353} **flowRef** : Kennung des Datenflusses (z. B. BBEX3) **key**: Zeitreihenschlüssel (z. B. D.USD.EUR.BB.AC.000){#par-ia4192} **Beispiel** : {#par-u5722a} **Wildcards und ODER-Operator**{#par-ie98u5} **Wildcard** : Teile des Schlüssels können leer gelassen werden, um mehrere Zeitreihen abzufragen. Beispiel: D..EUR.BB.AC.000 (alle Währungen gegen Euro) **ODER-Operator:** Mit + lassen sich mehrere Werte in einer Komponente angeben. Beispiel: M.ISK.EUR+USD.CA.AC.A01 (ISK/EUR und ISK/USD){#par-a9733u} ### 2.2. Alle Zeitreihen eines Datenflusses abrufen **Endpunkt** : /data/{flowRef}{#par-aooie4} **Beispiel** : {#par-ie4914} **Hinweis**: Je nach Datenmenge kann die Antwort länger dauern.{#par-ie4oo9} ### 2.3. Mehrere Zeitreihen auf einmal abrufen **Endpunkt** : /data/tsIdList (POST-Anfrage){#par-i514e6} **Beispiel-Request:** \[ "BBEX3.M.DKK.EUR.BB.AC.A01", "BBEX3.M.DKK.EUR.BB.AC.A02" \]{#par-ue1ii2} ### 2.4. Formate für Datenabfragen: siehe Kapitel 4 3. Metadaten abrufen -------------------- Auch Metadaten zu Datenstrukturen, Dataflows, Codelisten und Conceptschemes können abgefragt werden.{#par-i9u946} **Datastructure** : /metadata/datastructure/BBK/{resourceID} z. B. {#par-ao3ie5} **Dataflow** : /metadata/dataflow/BBK/{resourceID} z. B.{#par-ui6e89} **Codelist** : /metadata/codelist/BBK/{resourceID} z. B. {#par-ao16ae} **Conceptscheme** : /metadata/conceptscheme/BBK/{resourceID} z. B. {#par-iu24e2} **Parameter** : Auch hier lässt sich mit format, detail und references steuern, wie viele und welche Informationen bereitgestellt werden.{#par-a216u5} Alle Daten zu Datenstrukturen, Dataflows, Codelisten und Conceptschemes können abgefragt werden, indem {resourceID} weggelassen wird.{#par-i4a361} 4. Datenabfrage Parameter ------------------------- | **Abfrageparameter** | **Beschreibung** | |---------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | **startPeriod** **endPeriod** | Mit der Übergabe eines Datumsbereichs mit dem Abfrageparameter "startPeriod"/"endPeriod" ist es möglich den Zeitraum der Beobachtungen einzugrenzen. Die unterstützten Formate sind: **YYYY** für Jahresdaten (z. B. 2016) Beispiel [https://api.statistiken.bundesbank.de/rest/data/BBBZ1/A.ZV00.INET.A00.A12.000.IN.DE.N?startPeriod=2012\&endPeriod=2016](https://api.statistiken.bundesbank.de/rest/data/BBBZ1/A.ZV00.INET.A00.A12.000.IN.DE.N?startPeriod=2012&endPeriod=2016) **YYYY-S\[1-2\]** für halbjährliche Daten (z.B. 2019-S1) Beispiel [https://api.statistiken.bundesbank.de/rest/data/BBDB2/H.DE.Y.A.C.IFRS.B.A.K.E.E001.VGH.A?startPeriod=2017-S1\&endPeriod=2019-S1](https://api.statistiken.bundesbank.de/rest/data/BBDB2/H.DE.Y.A.C.IFRS.B.A.K.E.E001.VGH.A?startPeriod=2017-S1&endPeriod=2019-S1) **YYYY-Q \[1-4\]** für vierteljährliche Daten (z. B. 2020-Q2) Beispiel [https://api.statistiken.bundesbank.de/rest/data/BBEE1/Q.DE.AAA.XY0AAA.R.AADTB.M00?startPeriod=2019-Q4\&endPeriod=2020-Q2](https://api.statistiken.bundesbank.de/rest/data/BBEE1/Q.DE.AAA.XY0AAA.R.AADTB.M00?startPeriod=2019-Q4&endPeriod=2020-Q2) **YYYY-MM** für monatliche Daten (z. B. 2019-01) Beispiel [https://api.statistiken.bundesbank.de/rest/data/BBDP1/M.DE.N.HVPI.C.A00000.VGJ.LV?format=sdmx_generic_xml\&lang=de\&startPeriod=2018-06\&endPeriod=2020-06](https://api.statistiken.bundesbank.de/rest/data/BBDP1/M.DE.N.HVPI.C.A00000.VGJ.LV?format=sdmx_generic_xml&lang=de&startPeriod=2018-06&endPeriod=2020-06) **YYYY-W\[01-53\]** für wöchentliche Daten (z.B. 2019-W01) Beispiel [https://api.statistiken.bundesbank.de/rest/data/BBDE1/W.DE.Y.WAI.A2N400000.A.N.R00.A?format=bbk_csv\&startPeriod=2025-W45](https://api.statistiken.bundesbank.de/rest/data/BBDE1/W.DE.Y.WAI.A2N400000.A.N.R00.A?format=bbk_csv&startPeriod=2025-W45) **YYYY-MM-DD** für Tages- und Geschäftsdaten (z. B. 2019-01-01) Beispiel [https://api.statistiken.bundesbank.de/rest/data/BBEX3/D.USD.EUR.BB.AC.000?startPeriod=2020-11-05\&endPeriod=2020-11-10](https://api.statistiken.bundesbank.de/rest/data/BBEX3/D.USD.EUR.BB.AC.000?startPeriod=2020-11-05&endPeriod=2020-11-10) | | **preparedAfter** | Mit dem Parameter preparedAfter können alle seit einem bestimmten Zeitpunkt aktualisierten Zeitreihen abgefragt werden. Der preparedAfter-Parameter muss im Format YYYY-MM-DD'T'hh:mm:ss±hh:mm angegeben werden, z. B. 2009-05-15T14:15:00+01:00. Beispiel [https://api.statistiken.bundesbank.de/rest/data/bbex3/D..EUR.BB.AC.000?preparedAfter=2026-01-01T16:30:00+01:00](https://api.statistiken.bundesbank.de/rest/data/bbex3/D..EUR.BB.AC.000?format=bbk_csv&preparedAfter=2026-01-01T16%3A30%3A00%2B01%3A00&detail=full) | | **detail** | Mit dem Parameter detail kann die gewünschte Informationsmenge festgelegt werden, die vom Webservice zurückgegeben wird. Mögliche Optionen sind: **full**: Alle Datenwerte und Attribute werden zurückgegeben (Voreinstellung). Beispiel [https:/​/​api.statistiken.bundesbank.de/​rest/​data/​BBEX3​/​D.USD.EUR.BB.AC.0​0​0​?detail=full](https://api.statistiken.bundesbank.de/rest/data/BBEX3/D.USD.EUR.BB.AC.000?detail=full) **dataonly**: Nur Datenwerte werden zurückgegeben, ohne Attribute. Beispiel [https:/​/​api.statistiken.bundesbank.de/​rest/​data/​BBEX3​/​D.USD.EUR.BB.AC.0​0​0​?detail=dataonly](https://api.statistiken.bundesbank.de/rest/data/BBEX3/D.USD.EUR.BB.AC.000?detail=dataonly) **serieskeyonly**: Zeitreihenschlüssel, ohne Attribute und Datenwerte. Bespiel [https:/​/​api.statistiken.bundesbank.de/​rest/​data/​BBEX3​/​D.USD.EUR.BB.AC.0​0​0​?detail=serieskeyonly](https://api.statistiken.bundesbank.de/rest/data/BBEX3/D.USD.EUR.BB.AC.000?detail=serieskeyonly) **nodata**: Zeitreihenschlüssel, einschließlich der Attribute, aber ohne Datenwerte. Beispiel [https:/​/​api.statistiken.bundesbank.de/​rest/​data/​BBEX3​/​D.USD.EUR.BB.AC.0​0​0​?detail=nodata](https://api.statistiken.bundesbank.de/rest/data/BBEX3/D.USD.EUR.BB.AC.000?detail=nodata) | | **firstNObservations** | Der Parameter firstNObservations ermöglicht es, die maximale Anzahl der zurückzugebenden Beobachtungen je angefragter Zeitreihe festzulegen, beginnend mit der ersten Beobachtung. Beispiel [https:/​/​api.statistiken.bundesbank.de/​rest/​data/​BBEX3​/​D.USD.EUR.BB.AC.0​0​0​?detail=full\&firstNObservations=2​7​](https://api.statistiken.bundesbank.de/rest/data/BBEX3/D.USD.EUR.BB.AC.000?detail=full&firstNObservations=27) | | **lastNObservations** | Der Parameter lastNObservations ermöglicht es, die maximale Anzahl der zurückzugebenden Beobachtungen je angefragter Zeitreihe festzulegen, ausgehend von der letzten Beobachtung (rückwärts). Beispiel [https:/​/​api.statistiken.bundesbank.de/​rest/​data/​BBEX3​/​D.USD.EUR.BB.AC.0​0​0​?detail=full\&lastNObservations=1​2​](https://api.statistiken.bundesbank.de/rest/data/BBEX3/D.USD.EUR.BB.AC.000?detail=full&lastNObservations=12) | | **firstNVintages** | Mit dem Parameter firstNVintages wird festgelegt, wie viele der ersten verfügbaren Rechenstände pro Indikator zurückgegeben werden. Dieser Parameter betrifft nur die makroökonomischen Echtzeitdaten. Beispiel | | **lastNVintages** | Mit dem Parameter lastNVintages wird festgelegt, wie viele der letzten verfügbaren Rechenstände pro Indikator zurückgegeben werden. Dieser Parameter betrifft nur die makroökonomischen Echtzeitdaten. Beispiel | | **startVintage** **endVintage** | Mit den Parametern startVintage und endVintage wird ein Zeitraum festgelegt, aus dem die Rechenstände für Echtzeitdaten zurückgegeben werden sollen. Die unterstützten Formate sind: **YYYY** , **YYYY-MM-DD** Diese Parameter betreffen nur die makroökonomischen Echtzeitdaten. Beispiel [https://api.statistiken.bundesbank.de/rest/data/BBKRT/M.DE.S.P.CM1.PP000.R.I?startVintage=2020\&endVintage=2023](https://api.statistiken.bundesbank.de/rest/data/BBKRT/M.DE.S.P.CM1.PP000.R.I?startVintage=2020&endVintage=2023) | {#par-uu91i3} **Hinweis:** Bei mehr als 200 Zeitreihen oder verschiedenen Periodizitäten im CSV-Format wird eine ZIP-Datei zurückgegeben.{#par-i6e333} 5. Rückgabe Parameter --------------------- Das Antwortformat ist wählbar.{#par-oe8e4a} | Format | Parameterwert / Accept-Header | Beschreibung | |-------------|------------------------------------------------|----------------------------------------------| | SDMX-ML 2.1 | sdmx_generic_xml / application/xml | XML-Format | | SDMX-JSON | sdmx_json / application/json | JSON-Format | | SDMX-CSV | sdmx_csv / text/csv | CSV-Format (max. 200 Zeitreihen pro Anfrage) | | BBK-CSV | bbk_csv / application/vnd.bbk.data+csv | CSV-Format der Bundesbank | | BBK-CSV-ZIP | bbk_csv_zip / application/vnd.bbk.data+csv-zip | ZIP mit mehreren CSV-Dateien | {#par-a88a81} 6. Sprache der Rückgabe ----------------------- * **de** (z. B. "de-DE"): Deutsche Attribute, sonst englisch als Fallback {#par-e3e78u} * **en** (z. B. "en-US"): Englische Attribute, sonst deutsch als Fallback {#par-e3e78u} * **Keine Angabe:** Vollständiges Dokument {#par-e3e78u} 7. Statuscodes (Antworten des Servers) -------------------------------------- | Status-Code | Bedeutung | |-------------|------------------------------------------------------------------------------------------------------------| | 200 | Anfrage erfolgreich, Daten werden geliefert | | 400 | Fehlerhafte Anfrage (z. B. ungültige Parameter) | | 404 | Keine passenden Ergebnisse gefunden | | 406 | Angefragtes Format wird nicht unterstützt | | 410 | Angefragte Ressource wird nicht mehr unterstützt | | 413 | Zu große Datenmengen. Die Daten werden im Hintergrund generiert und können später erneut angefragt werden. | | 500 | Interner Fehler, bitte später erneut versuchen | | 501 | Funktion noch nicht implementiert | | 503 | Webservice zeitweise nicht erreichbar | {#par-u68oa4} 8. Weitere Hinweise ------------------- Die API ist sehr flexibel und bietet viele Möglichkeiten, Daten und Metadaten gezielt abzufragen. Für große Datenmengen kann die Antwortzeit länger sein. Für Details zu SDMX siehe [sdmx.org](https://sdmx.org/).{#par-o59417} **Tipp:** Nutzen Sie die Beispiele aus dieser Anleitung und passen Sie sie an Ihre Bedürfnisse an. So können Sie schnell und einfach die gewünschten Daten abrufen.{#par-u9592a} Bei Fragen oder Problemen wenden Sie sich an die [Kontakt](https://www.bundesbank.de/content/723536) der Bundesbank.