# OpenBB ECB Provider
This extension integrates the [European Central Bank (ECB) Data Portal](https://data.ecb.europa.eu/)
into the OpenBB Platform. It is a self-registering extension: when the `economy`, `currency`, and
`fixedincome` extensions are absent, every model is exposed under its own `obb.ecb.*` router; when
they are installed, the ECB fetchers plug into their canonical commands (e.g.
`obb.economy.balance_of_payments(provider="ecb")`).
## Installation
```bash
pip install openbb-ecb
```
## Coverage
**Full SDMX 2.1 catalogue sweep**
- `available_indicators` — the **series builder**: enumerate the **individual series
(indicators)** within a dataflow (SDMX `serieskeysonly`), narrowed by `frequency` and
`reference_area` dependent dropdowns (their options adapt to the selected dataflow), a
`dimension_values` text field for the dataflow's other dimensions (`DIM:VALUE`), and a text
`query`; each row is a ready `FLOW::KEY` symbol (e.g. the ~60k HICP series under `ICP`). In the
Workspace you **click a row's symbol** (`cellOnClick`) to load it in the `indicators` widget. A
*dataflow* is the table; a *series* is the indicator (with its transformation — index, rate, …).
- `indicators` — fetch any ECB series by a `FLOW::KEY` symbol, e.g. `EXR::D.USD.EUR.SP00.A`.
- `list_dataflows`, `search_dataflows`, `list_topics`, `topic_dataflows`,
`get_dataflow_dimensions`, `dimension_choices` — dataflow discovery & progressive key building.
**Concepts & dataset metadata**
- `list_concepts` — the ECB data-portal **concepts** (the portal's curated topics, e.g. *Bank
interest rates*, *Monetary aggregates*, *HICP*), each grouping the datasets it covers.
- `dataflow_information` — an **HTML** widget serving a dataset's full ECB reference metadata —
Scope, Methodological information, Statistical processing, Administrative information, Quality,
Dissemination, Legal and institutional environment, Technical information (with the downloadable
series catalogue) and Miscellaneous. Pick a concept, then a dataset. This rich metadata for
every dataflow is materialised into the shipped cache at build time.
**Presentation tables**
- `list_tables` — the ECB data-portal presentation ("release") tables (e.g. the monetary
aggregates or the HICP), the full curated set enumerated from the portal's publications
tree and grouped by its categories.
- `presentation_table` — every series a table publishes as a wide row: its concise `title`,
the full series definition on hover, its `unit`, and the most recent periods pivoted into
columns as **real, unit-scaled numbers** (each value expanded by the series' `UNIT_MULT`
from the SDMX schema). Labels, values and units are resolved at request time from each
series' `TITLE` / `TITLE_COMPL` / `UNIT` / `UNIT_MULT`; the cache stores only each table's
title, portal placement and full series list.
**Standardized timeseries**
- `exchange_rates` — euro reference exchange rates (EXR), EUR pairs and derived cross rates.
- `reference_rates` — the latest euro foreign-exchange reference rates.
- `key_interest_rates` — the key ECB rates (deposit, lending, refinancing) from FM.
- `euro_short_term_rate` — the €STR and its full detail (EST).
- `mfi_interest_rates` — MFI/bank interest rates on euro-area loans & deposits (MIR).
- `yield_curve` — euro area government bond yield curves.
- `balance_of_payments` — euro area balance of payments.
**Releases, documents & calendar**
- `release_choices` / `release_document` — ECB press releases, publications, and blog posts (RSS).
`release_choices` lists a feed's posts (newest first) and feeds the **HTML** widget's `release`
dropdown; `release_document` is the ECB Release Viewer (`type: "html"`), which serves the chosen
article as a full page — its own CSS, charts, tables and images intact, URLs resolved to absolute
with an injected `` so it renders exactly as ECB published it.
- `calendar` — the ECB statistical release calendar. In the Workspace it is the app's **entry
point**: each row's `Dataset` cell (`cellOnClick`) sets the shared `dataflow`, so picking a
release drives the dataflow-dimensions and series-builder widgets to explore that release's data.
- `eligible_assets` — the Eurosystem list of eligible marketable (collateral) assets.
## Caching
Two independent caches:
- A shipped, read-only **SDMX metadata cache** (`assets/ecb_cache.json.xz`), materialized at build
time by `generate-ecb-cache`.
- A **parsed-data disk cache** (`diskcache`) for fetched results, with per-dataset TTLs matched to
ECB release cadence. The directory is `OPENBB_ECB_CACHE_DIR`, or
`/ecb/data` from the OpenBB layered config. Set `OPENBB_ECB_NO_CACHE=1` to
disable it; most data commands also accept `use_cache=False`.
Documentation available [here](https://docs.openbb.co/odp/python).