Official statistics API of the Deutsche Bundesbank: exchange rates and macroeconomic/financial time series over SDMX REST. Note the JSON format parameter is format=sdmx_json (underscore — sdmx-json and sdmxjson both return 406). Use the OpenAPI spec and REST base URL as the durable reference; some bundesbank.de help subpages 404 due to CMS routing churn.
Trust score
How is this computed?Composite of 5 axes from our methodology (proof-based officialness, live verification, metadata completeness, license clarity, agent readiness).
- Officialnessweight 25%0/100
0/100 from 5 proof signals (domain / portal-backlink / GitHub-org / reciprocal / policy).
- Availabilityweight 25%100/100
Latest verification succeeded.
- Metadata completenessweight 20%70/100
7 of 10 recommended metadata fields populated.
- License clarityweight 15%50/100
License info not yet tracked for APIs (datasets only).
- Agent readinessweight 15%90/100
OpenAPI spec URL declared · Rate-limit metadata declared · Docs URL present · Homepage URL present · Topic tags assigned
Official Proof
Public Sector APIData schema (20 fields)
| Field | Type | Description |
|---|---|---|
| flowRef | string | A reference to the dataflow describing the data that needs to be returned. |
| key | string | Unique identification of a time series. A time series key usually consists of several components, the first of which determines the frequency. The keys in dataflow BBK01 are an exception. They have six to ten digits without separators between the components and contain the periodicity in place 2. |
| format | string | The "format" parameter allows you to instruct the web service to return data in various formats. If no "format" parameter is specified, the return format takes "Accept header" into account. The "format" parameter takes precedence over the "Accept header". <br> <br> ```sdmx_generic_xml``` - applicati |
| lang | string | Using the "lang" parameter, you can instruct the web service to return data in different languages. If no "lang" parameter is specified, the return format will consider "Accept-Language header". The "lang" parameter takes precedence over the "Accept-Language header"<br> |
| startPeriod | string | It is possible to define a date range for which observations should be returned by using the "startPeriod" and/or "endPeriod" parameters. Input can be the format of the respective periodicity of the retrieved time series (s), for example: 2020-Q2 for quarterly series, or date in yyyy-MM-dd forma |
| endPeriod | string | It is possible to define a date range for which observations should be returned by using the "startPeriod" and/or "endPeriod" parameters. Input can be the format of the respective periodicity of the retrieved time series (s), for example: 2020-Q2 for quarterly series, or date in yyyy-MM-dd forma |
| preparedAfter | string | Specifying a time stamp with the "preparedAfter" parameter enables all updated time series in the database to be received for query since a certain point in time. The "preparedAfter" parameter must be specified in the format YYYY-MM-DD'T'hh:mm:ss±hh:mm (e.g. 2009-05-15T14:15:00+01:00) |
| detail | string | Using the "detail" parameter, it is possible to specify the desired amount of information to be returned by the web service. |
| firstNObservations | integer | Using the "firstNObservations" parameter, it is possible to specify the maximum number of observations to be returned for each of the matching series, starting from the first observation. |
| lastNObservations | integer | Using the "lastNObservations" parameter, it is possible to specify the maximum number of observations to be returned for each of the matching series, counting back from the most recent observation (lastNObservations). |
| firstNVintages | integer | Using the "firstNVintages" parameter, it is possible to specify the maximum number of vintages to be returned for each of the matching indicator, starting with the first vintage. |
| lastNVintages | integer | Using the "lastNVintages" parameter, it is possible to specify the maximum number of vintages to be returned for each of the matching indicator, starting with the last vintage. |
| startVintage | string | It is possible to define a date range for which vintages of real time data should be returned. The following entries of a period are excpected "yyyy-MM-dd, yyyy-MM, yyyy" |
| endVintage | string | It is possible to define a date range for which vintages of real time data should be returned. The following entries of a period are excpected "yyyy-MM-dd, yyyy-MM, yyyy" |
| resourceID | string | The ID of the requested datastructure. |
| references | string | Using the "references" parameter, you can instruct the web service to return (or not) the artefacts referenced by the datastructure to be returned (codelists and conceptschemes). You can also retrieve the artefacts that use the matching datastructure (dataflows). |
| titleApiError | string | A short, human-readable summary of the problem. |
| statusApiError | number | The HTTP status code generated by the origin server for this occurrence of the problem. |
| typeApiError | string | A URI reference that identifies the problem type. |
| instanceApiError | string | A URI reference that identifies the specific occurrence of the problem. |
Schema captured from openapi 27 minutes ago.
Query the data
Pick columns and a sort, then fetch a live preview straight from the source.
Verification Status
Using the API
Configuration
- Base URL
- https://api.statistiken.bundesbank.de/rest
Query examples
curl -s 'https://api.statistiken.bundesbank.de/doc/stat-ws-api-external.yaml' -H 'Accept: application/json'Machine-readable API description (use it to generate clients).
Rate limits
No documented rate limit in the OpenAPI spec (checked 2026-07-07).
Machine-readable & source
Embed this badge in a README or wiki — it always shows the latest verification state and quality tier.