Euro Area Unemployment Rate — Daily CSV Download
ECB Dataset · Real Economy
Euro Area Unemployment Rate (1998–2026)
The euro area aggregate unemployment rate (15–74 years, seasonally adjusted). Record low of 6.2% in early 2026, down from the 12.1% peak in 2013. One of the most misleading aggregate statistics in European economics — because it conceals enormous cross-country dispersion.
Unemployment in a fragmented labor market
The euro area unemployment rate hides more than it reveals. The 6.2% aggregate masks a range from ~3.3% (Germany) to ~11% (Spain) and ~10% (Greece). This dispersion is a permanent feature of the monetary union: countries share a single monetary policy but have radically different labor market structures, wage-setting mechanisms, and employment protection legislation.
The secular decline from the 2013 peak to the current record low reflects both cyclical recovery and structural reforms (notably Spanish labor market reforms in 2012 and German Hartz reforms in the 2000s). However, youth unemployment remains elevated in Southern Europe (>25% in Spain, Greece), suggesting persistent labor market dysfunction despite headline improvement.
Unemployment and ECB policy
The ECB does not have a formal dual mandate (unlike the Fed), but labor market conditions increasingly influence rate decisions through the wage-inflation channel. With unemployment at record lows and wage growth at ~4%, the ECB faces a tension: further easing risks fueling wage-price persistence, but maintaining restrictive policy risks undermining the hard-won employment gains.
CSV Data Dictionary
| Column | Type | Description |
|---|---|---|
| date | YYYY-MM-DD | First day of the reference month |
| unemployment_rate | float | Euro area unemployment rate, 15–74 years, seasonally adjusted (%) |
Python Code Example
import pandas as pd
from io import StringIO
import requests
url = "https://data-api.ecb.europa.eu/service/data/LFSI/M.I9.S.UNEHRT.TOTAL0.15_74.T"
resp = requests.get(url, params={"format": "csvdata"})
raw = pd.read_csv(StringIO(resp.text))
df = raw[["TIME_PERIOD", "OBS_VALUE"]].copy()
df.columns = ["date", "unemployment_rate"]
df["date"] = pd.to_datetime(df["date"] + "-01")
df = df.sort_values("date").set_index("date")
df.plot(title="Euro Area Unemployment Rate", figsize=(12, 5))Related ECB Datasets
Source & Methodology
Source: ECB / Eurostat — Labour Force Survey
Series key: LFSI/M.I9.S.UNEHRT.TOTAL0.15_74.T
License: ECB open data — free reuse with attribution.
