Euro Area GDP — Daily CSV Download
ECB Dataset · Real Economy
Euro Area GDP — Chain Linked Volume (1995–2026)
Real GDP for the 20-country euro area (chain linked volume, 2015 reference year, seasonally and calendar adjusted). The headline measure of economic activity for the monetary union — and the denominator for debt-to-GDP ratios that drive fiscal policy debates.
Euro area growth dynamics
Euro area real GDP provides the broadest measure of economic activity across the monetary union. The series captures four major cycles: the pre-euro convergence boom (1997–2000), the Global Financial Crisis contraction (−4.4% in 2009), the double-dip sovereign crisis (2011–2013), and the pandemic collapse followed by recovery (−6.1% in 2020, +5.9% in 2021).
The post-pandemic recovery has been structurally weaker than in the US — euro area real GDP only surpassed its Q4 2019 level in late 2022, roughly a year later than the US. This gap reflects Europe’s greater energy vulnerability, more conservative fiscal stimulus, and the drag from the Russia-Ukraine conflict on energy-intensive industrial sectors (particularly Germany).
GDP and monetary policy transmission
For the ECB, GDP growth matters because it determines the output gap — the difference between actual and potential output. A negative output gap (actual below potential) signals disinflationary pressure and supports rate cuts; a positive gap signals overheating. The current euro area GDP growth rate (~0.5–1.0% annualized) suggests an economy near stall speed, providing space for continued ECB easing.
CSV Data Dictionary
| Column | Type | Description |
|---|---|---|
| date | YYYY-MM-DD | First day of the quarter |
| gdp_eur_m | float | Real GDP, chain linked volume, EUR millions (2015 reference, seasonally adjusted) |
Python Code Example
import pandas as pd
from io import StringIO
import requests
url = "https://data-api.ecb.europa.eu/service/data/MNA/Q.Y.I9.W2.S1.S1.B.B1GQ._Z._Z._Z.EUR.LR.N"
resp = requests.get(url, params={"format": "csvdata"})
raw = pd.read_csv(StringIO(resp.text))
df = raw[["TIME_PERIOD", "OBS_VALUE"]].copy()
df.columns = ["date", "gdp_eur_m"]
df["date"] = pd.to_datetime(df["date"])
df = df.sort_values("date").set_index("date")
df.plot(title="Euro Area Real GDP", figsize=(12, 5))Related ECB Datasets
Source & Methodology
Source: ECB / Eurostat — National Accounts (MNA)
Series key: MNA/Q.Y.I9.W2.S1.S1.B.B1GQ._Z._Z._Z.EUR.LR.N
License: ECB open data — free reuse with attribution.
