Deutsche Bundesbank Time Series API
Free Deutsche Bundesbank time series API with no key: exchange rates, interest rates and German macro series as CSV, JSON or SDMX-ML. Tested example and live response.
Endpoint tested and returned HTTP 200 on 21 Aug 2026
What is the Deutsche Bundesbank Time Series API?
The Deutsche Bundesbank serves its published statistics through a free REST API at api.statistiken.bundesbank.de with no key. Any series is addressed by its Bundesbank key and can be returned as CSV, SDMX-JSON or SDMX-ML.
Everything in the Bundesbank's statistical catalogue is addressable by a structured key, and once you can read a key you can reach any series without hunting through a UI. `BBEX3/D.USD.EUR.BB.AC.000` decomposes into the dataset, the frequency, the currency, the base, the source and the type — so the euro reference rate against sterling is the same key with `GBP` substituted. Learn one key and you have learned several thousand.
The CSV format is not a bare table. Roughly a dozen metadata rows precede the data, carrying the decimal places, unit, category and a bilingual comment, and only then do the dated observations begin. A naive CSV reader will treat the metadata block as rows and produce nonsense. Skip until you reach the first line whose leading field parses as a date, or request SDMX-JSON, which keeps metadata and observations in separate structures.
Quick facts
- Base URL
https://api.statistiken.bundesbank.de/rest/data- Authentication
- No key or registration. Published by the Bundesbank as open statistical data.
- Rate limit
- No documented limit. Daily series update once per working day.
- Pricing
- Free.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the Deutsche Bundesbank Time Series API
Every request below was executed against the live API on 21 Aug 2026, and the response shown is the real body it returned — not an illustration.
1. Last five daily EUR/USD reference rates
GET https://api.statistiken.bundesbank.de/rest/data/BBEX3/D.USD.EUR.BB.AC.000?lastNObservations=5&format=csv
curl 'https://api.statistiken.bundesbank.de/rest/data/BBEX3/D.USD.EUR.BB.AC.000?lastNObservations=5&format=csv'const res = await fetch("https://api.statistiken.bundesbank.de/rest/data/BBEX3/D.USD.EUR.BB.AC.000?lastNObservations=5&format=csv");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://api.statistiken.bundesbank.de/rest/data/BBEX3/D.USD.EUR.BB.AC.000?lastNObservations=5&format=csv", timeout=20)
res.raise_for_status()
print(res.json())"";BBEX3.D.USD.EUR.BB.AC.000;BBEX3.D.USD.EUR.BB.AC.000_FLAGS
"";Euro-Referenzkurs der EZB / 1 EUR = ... USD / Vereinigte Staaten;
BBK_UNIT_ENG;;
Dezimalstellen;4;
Dimension;Eins;
Einheit;USD;
Format der Zeitangabe;P1D;
Kategorie;WEDE;
Kommentar;Die EZB veröffentlicht tägliche Referenzkurse, die auf Grundlage der Konzertation zwischen Zentralbanken um 14.15 Uhr ermittelt werden.;
Kommentar (enParameters
| Parameter | Type | Required | Description |
|---|---|---|---|
dataset/key | path segment | Required | Bundesbank dataset code followed by the dotted series key. BBEX3/D.USD.EUR.BB.AC.000 |
format | query | Optional | `csv`, `json` (SDMX-JSON) or `sdmx` (SDMX-ML). Defaults to SDMX-ML. csv |
lastNObservations | query | Optional | Return only the most recent N observations instead of the whole series. 5 |
startPeriod / endPeriod | query | Optional | Restrict the series to a date window, in the series' own period format. 2026-01-01 |
lang | query | Optional | `en` or `de` for metadata labels. en |
Response fields
Header block (CSV)rows- Around a dozen metadata rows before the data — decimal places, unit, category, frequency and comments. Skip them before parsing.
Data rows (CSV)rows- Date, value and a flag column per observation, oldest first.
BBK_UNIT_ENG / Einheitmetadata- The unit the observations are expressed in.
Format der Zeitangabemetadata- ISO 8601 duration giving the observation frequency, `P1D` for daily.
Flags columnstring- Observation status flags; an empty flag means a normal published value.
What you can build with the Deutsche Bundesbank Time Series API
- Pull the ECB euro reference rate for a currency straight from an official source
- Chart German interest rate or macro series without scraping a PDF
- Fetch only the last N observations for a lightweight dashboard refresh
- Load a long series into a spreadsheet using the CSV format
Common errors and how to fix them
Nonsense first rows after CSV parse
The metadata preamble was read as data.
Fix: Skip rows until the first field parses as a date, or use `format=json` where metadata is structurally separate.
404
The dataset or series key does not exist.
Fix: Keys are case-sensitive and positional. Confirm the exact key in the Bundesbank time series database before hard-coding it.
Empty result with HTTP 200
The `startPeriod`/`endPeriod` window contains no observations.
Fix: Widen the window, and remember daily series skip weekends and German public holidays.
Deutsche Bundesbank Time Series API — frequently asked questions
Is the Bundesbank time series API free?
Yes. It needs no key or registration and serves the full published statistics catalogue in CSV, SDMX-JSON and SDMX-ML.
How do I find the key for a series I want?
Browse the Bundesbank time series database and copy the key shown against the series. Keys are structured, so once you have one from a family you can usually derive its siblings by substituting a dimension.
Why does the CSV have text at the top instead of a header row?
The Bundesbank ships series metadata as leading rows in the same file — units, decimals, category and comments. Skip to the first date-shaped row, or switch to `format=json`.
Are the euro reference rates here the same as the ECB's?
The BBEX3 family republishes the ECB reference rates, as the series description in the response states. It is the same fixing reached through a different API.
Tools that pair with this API
CSV to JSON Converter
Convert CSV to a JSON array of objects online. Header-row detection, comma/semicolon/tab delimiters and pretty-printed output — 100% in your browser.
CSV Viewer & Table
View CSV as a clean HTML table online. Live search filter, row and column counts, delimiter and header options — all processed locally in your browser.
Percentage Change Calculator
Work out the percentage increase or decrease between an old and a new value. See the absolute change and whether it went up or down, instantly and privately.
Alternatives to Deutsche Bundesbank Time Series API
If Deutsche Bundesbank Time Series does not fit, these finance & crypto apis cover similar ground. Every one was called before publishing, and each links to its own reference page with a working curl command and the response it returned.
| API | What it does | Auth | CORS | Last verified |
|---|---|---|---|---|
| CoinGecko | Free cryptocurrency price API covering 10,000+ coins. Live prices, market cap and volume in any currency, no API key on the public tier. Tested curl example. | No key | Yes | 19 Aug 2026 |
| Binance Public API | Binance public market data API needs no API key: live ticker prices, order books, klines and 24h stats for every trading pair. Tested curl example and response. | No key | Yes | 19 Aug 2026 |
| Coinbase Exchange Rates | Coinbase public exchange rates API with no key: convert any cryptocurrency to 100+ fiat currencies in a single request. Tested curl example and live JSON. | No key | Yes | 19 Aug 2026 |
| Frankfurter | Free currency exchange rate API with no key, built on European Central Bank data. Latest and historical rates, time series and conversion. Tested curl example. | No key | Yes | 19 Aug 2026 |
| Bybit Public Market Data | Free Bybit public market API with no key: spot and derivatives tickers, order books, klines, funding rates and open interest. Tested curl example. | No key | No | 20 Aug 2026 |
| Casheva | Free Casheva API with no key: the monthly Euribor fixing, Argentine and Spanish inflation, the ICL index and fixed-deposit rates as small JSON documents. Tested example. | No key | Yes | 21 Aug 2026 |
Deutsche Bundesbank Time Series is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 21 Aug 2026; always check the official documentation before relying on this API in production, as terms and limits can change.