Use of the Bundesbank SDMX Web Service API

1 What is the Bundesbank SDMX Web Service API?

Bundesbank SDMX Web Service API

With the Bundesbank SDMX Web Service, the Bundesbank offers a technical REST-API interface that can be used to automatically download statistical data by calling a URL.


Content provided:

  • Statistical data (e.g. Macroeconomic time series, real-time data)
    Metadata about the data
  • Data formats: SDMX-ML 2.1, SDMX-JSON, CSV
    Metadata only as SDMX-ML

Technical basics:

  • REST API (i.e. communication via standardised web addresses)
  • Default format: JSON

Access via HTTPS (encrypted).

The API is updated regularly.

For more information on SDMX: sdmx.org

2 Retrieve data

2.1 Retrieve individual time series

Endpoint:

/data/{flowRef}/{key}

flowRef: Identifier of the data flow (e.g. BBEX3)
key: Time series key (e.g. D.USD.EUR.BB.AC.000)

Example:

https://api.statistiken.bundesbank.de/rest/data/BBEX3/D.USD.EUR.BB.AC.000

Wildcard and OR Operator

Wildcard:  
   Parts of the key can be left empty to query multiple time series.  
   Example: D..EUR.BB.AC.000 (all currencies against the Euro)

OR Operator:  
   Use + to specify multiple values in a single component.  
   Example: M.ISK.EUR+USD.CA.AC.A01 (ISK/EUR and ISK/USD)

2.2 Retrieve all time series of a data flow

Endpoint:

/data/{flowRef}

Example:

https://api.statistiken.bundesbank.de/rest/data/BBBZ1

Note: Depending on the amount of data, the response may take longer.

2.3 Retrieve multiple time series at once

Endpoint:

/data/tsIdList (POST request)

Example Request:

[
  "BBEX3.M.DKK.EUR.BB.AC.A01",
  "BBEX3.M.DKK.EUR.BB.AC.A02"
]

2.4 Formats for data queries - See chapter 4

3 Retrieve metadata

Metadata on data structures, data flows, codelists, and concept schemes can also be queried.

Datastructure  
      /metadata/datastructure/BBK/{resourceID}
      Example: https://api.statistiken.bundesbank.de/rest/metadata/datastructure/BBK/BBK_DOES
   
Data flow  
      /metadata/dataflow/BBK/{resourceID}
      Example: https://api.statistiken.bundesbank.de/rest/metadata/dataflow/BBK/BBEX3
   
Codelist  
      /metadata/codelist/BBK/{resourceID}
      Example: https://api.statistiken.bundesbank.de/rest/metadata/codelist/BBK/CL_BBK_ERX_RATE_TYPE
   
Conceptscheme  
      /metadata/conceptscheme/BBK/{resourceID}
      Example: https://api.statistiken.bundesbank.de/rest/metadata/conceptscheme/BBK/CS_BBK_ERX

Parameters

The amount and type of information provided can be controlled using the following parameters:

  • format: Specifies the format of the response.
  • detail: Determines the level of detail in the response.
  • references: Specifies whether references to related metadata should be included.

To retrieve all metadata for data structures, data flows, codelists, and concept schemes, omit the {resourceID} in the endpoint.

4 Data query parameters

Query parameters

Description

startPeriod

endPeriod

By passing a date range with the query parameter “startPeriod”/“endPeriod”, it is possible to limit the period of observation. The supported formats are:

YYYY for annual data (e.g. 2016)

Example

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] for semi-annual data (e.g. 2019-S1) 

Example

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] for quarterly data (e.g. 2020-Q2)

Example

https://api.statistiken.bundesbank.de/rest/data/BBEE1/Q.DE.AAA.XY0AAA.R.AADTB.M00?startPeriod=2019-Q4&endPeriod=2020-Q2

 

YYYY-MM for monthly data (e.g. 2019-01)

Example

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] for weekly data (e.g. 2019-W01)

Example

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 for daily and business data (e.g. 2019-01-01)

Example

https://api.statistiken.bundesbank.de/rest/data/BBEX3/D.USD.EUR.BB.AC.000?startPeriod=2020-11-05&endPeriod=2020-11-10

preparedAfter

The parameter preparedAfter can be used to query all time series that have been updated since a certain point in time.

The preparedAfter parameter must be specified in the format YYY-MM-DD'T'hh:mm:ss hh:mm, e.g. 2026-01-01T16:30:00+01:00

Example

https://api.statistiken.bundesbank.de/rest/data/bbex3/D..EUR.BB.AC.000?preparedAfter=2026-01-01T16:30:00+01:00

detail

The detail parameter can be used to specify the desired amount of information returned by the web service. Possible options are:

full: All data values and attributes are returned (default).

Example

https:/​/​api.statistiken.bundesbank.de/​rest/​data/​BBEX3​/​D.USD.EUR.BB.AC.0​0​0​?detail=full

 

dataonly: Only data values are returned, without attributes.

Example

https:/​/​api.statistiken.bundesbank.de/​rest/​data/​BBEX3​/​D.USD.EUR.BB.AC.0​0​0​?detail=dataonly

 

serieskeyonly: Time series keys, without attributes and data values.

Example

https:/​/​api.statistiken.bundesbank.de/​rest/​data/​BBEX3​/​D.USD.EUR.BB.AC.0​0​0​?detail=serieskeyonly

 

nodata: Time series keys, including attributes, but without data values.

Example

https:/​/​api.statistiken.bundesbank.de/​rest/​data/​BBEX3​/​D.USD.EUR.BB.AC.0​0​0​?detail=nodata

firstNObservations

The firstNObservations parameter allows the maximum number of observations to be returned per requested time series, starting with the first observation. 

Example

https:/​/​api.statistiken.bundesbank.de/​rest/​data/​BBEX3​/​D.USD.EUR.BB.AC.0​0​0​?detail=full&firstNObservations=2​7​

lastNObservations

The parameter lastNObservations allows the maximum number of observations to be returned per requested time series, starting from the last observation (backwards). 

Example

https:/​/​api.statistiken.bundesbank.de/​rest/​data/​BBEX3​/​D.USD.EUR.BB.AC.0​0​0​?detail=full&lastNObservations=1​2​

firstNVintages

The parameter firstNVintages is used to determine how many of the first available computational versions per indicator are returned. This parameter applies only to real-time data. 

Example

https://api.statistiken.bundesbank.de/rest/data/BBKRT/M.DE.S.P.CM1.PP000.R.I?firstNVintages=3

lastNVintages

The parameter lastNVintages is used to determine how many of the last available computational versions per indicator are returned. 

This parameter applies only to real-time data. 

Example

https://api.statistiken.bundesbank.de/rest/data/BBKRT/M.DE.S.P.CM1.PP000.R.I?lastNVintages=8

startVintage

endVintage

The startVintage and endVintage parameters define a period from which the vintages for real-time data are to be returned. The supported formats are YYYYYYYY-MM-DD

This parameter applies only to real-time data. 

Example

https://api.statistiken.bundesbank.de/rest/data/BBKRT/M.DE.S.P.CM1.PP000.R.I?startVintage=2020&endVintage=2023

Note:

If more than 200 time series or different periodicities are in CSV format, a ZIP file is returned. 

5 Return parameters

The response format is selectable.

SDMX-ML 2.1

sdmx_generic_xml / application/xmlXML-Format 

SDMX-JSON

sdmx_json / application/jsonJSON-Format  

SDMX-CSV 

sdmx_csv / text/csv  CSV-Format (max. 200 time series per request)

BBK-CSV

bbk_csv / application/vnd.bbk.data+csv Bundesbank CSV format

BBK-CSV-ZIP

bbk_csv_zip / application/vnd.bbk.data+csv-zipZIP containing multiple CSV files

6 Language of return

  • de (e.g. "de-DE"): German attributes, otherwise English as fallback
  • en (e.g. "en-US"): English attributes, otherwise German as fallback
  • No specification: Complete document

7 Status codes (server responses)

Status code

Significance

200

Request successful, data will be delivered.
 

400

Incorrect request (e.g. invalid parameters).
 

404

No matching results were found.
 

406

Requested format is not supported.
 

410

Requested resource is no longer supported.
 

413

Too much data. The data is generated in the background and can be requested again later.
 

500

Internal error, please try again later.
 

501

Function not yet implemented.
 

503

Web service temporarily unavailable.

8 Further information

The API is very flexible and offers many ways to query data and metadata in a targeted manner.

For large volumes of data, the response time may be longer.

For details on SDMX, see sdmx.org  .

Tip: Use the examples from this guide and adapt them to your needs. This allows you to quickly and easily retrieve the data you want.

If you have any questions or problems, please contact the Bundesbank support hotline.

All articles