EU ETS Verified Emissions & Allowances by Country
Country-level annual EU Emissions Trading System figures - verified emissions, total allocated allowances, and surrendered units, 2005-2025 - cleaned from the EEA's EUTL database. Country totals correctly summed over leaf activities (no rollup double-counting).
- Source
- EU ETS / EEA
- Licence
- Redistributable open data
- Updates
- Annual
- Data through
- 2025-01-01
- Quality
- QC clean · 0 failures
- Format
- Apache Parquet + dictionary
Safe to train on
Built only from a named, redistributable official source under a documented open licence - not scraped web data. No copyright grey zone, no personal data. Ships machine-readable Croissant metadata (ML Commons - loads in Hugging Face / Kaggle / Google), an AI training-licence manifest documenting source, licence and provenance for your model's data governance, and a machine-readable data dictionary (drop it into an agent / RAG prompt so the model knows every column) - all inspectable before you buy.
What's included
- Verified emissions + allocated allowances + surrendered units, all ETS countries, 2005-2025
- Country × year × metric; leaf-activity summed (validated vs published totals)
- One tidy long table; flat + partitioned by country
- Source: EEA / EU Transaction Log (CC-BY-4.0) - carbon traders, ESG, policy analysts
Schema
| Column | Type | Description | Filled | Distinct |
|---|---|---|---|---|
| zone | str | Country code | 100.0% | 32 |
| ts | timestamp (UTC) | Year (period start) | 100.0% | 21 |
| metric | str | Verified emissions / Allocated allowances / Surrendered units | 100.0% | 3 |
| value | float | Tonnes CO2e (emissions) or allowance units | 100.0% | 1,825 |
| unit | str | t CO2e or allowances | 100.0% | 2 |
| res_min | int | Cadence (yearly) | 100.0% | 1 |
Sample & preview
Every purchase ships as Apache Parquet with a data dictionary and the full QC report. A free sample (first rows + schema) is downloadable here - confirm fit before you buy. Source: EU ETS / EEA (redistributable open data; attribution passes through - see our Licence).
Don't trust screenshots - drop the sample into your notebook right now.
import pandas as pd df = pd.read_parquet("eu-ets-emissions-allowances_sample.parquet") df.info() # typed columns, gap-aware, ready to join⬇ Download free Parquet sample or CSV for Excel
Coverage: 32 zones
AT · BE · BG · CY · CZ · DE · DK · EE · ES · FI · FR · GB · GR · HR · HU · IE · IS · IT · LI · LT · LU · LV · MT · NL · NO · PL · PT · RO · SE · SI · SK · XI
Related datasets
Country Electricity Carbon Intensity, Emissions & Generation
Clean per-country yearly electricity carbon intensity (gCO2/kWh), power-sector CO2 emissions (mtCO2) and total generation (TWh) for ~215 countries, 2000-present. Tidy, analysis-ready long format from Ember's bulk release - no parsing the 49 MB taxonomy file.
European GHG Emissions
Every European country's greenhouse-gas footprint in one clean Parquet: national total GHG emissions (excluding LULUCF) plus the CO2, methane and nitrous-oxide components, all in million tonnes of CO2-equivalent - from Eurostat's official EEA-sourced inventory, one row per country × gas × year since 1990. The series behind every net-zero target and climate dashboard; joins to energy, carbon-price and macro on country code.
European Industrial Emissions (E
Annual releases of ~96 regulated pollutants (CO2, CH4, NOx, heavy metals, VOCs and more) to air, water and land from Europe's largest industrial complexes, broken down across 10 industrial sectors (energy, chemicals, metals, minerals, paper & wood, waste/wastewater, intensive livestock, food/beverage and more) and aggregated to clean country totals. From the EEA Industrial Reporting / E-PRTR database, 2007-present. GDPR-safe: national aggregates only, no facility-level personal data.