# Who emits CO2 in Europe, how much and since when.

Canonical URL: https://www.rastriq.es/en/eu-ets-emissions-data/ · Spanish version: https://www.rastriq.es/datos-emisiones-co2-eu-ets/

> All 23,500 installations and operators in the EU Emissions Trading System with LEI, activity, permit and verified CO2 emissions for every year since 2005.

The EU Emissions Trading System register (EU Transaction Log) as one table: power plants, factories, aircraft operators and shipping companies, with operator, LEI, activity, permit and address, plus verified emissions, free allocation and surrendered allowances for every year since 2005. In Delta mode you only receive what changes.

QUICK ANSWER

**Quick answer:** The roughly 23,500 installations and operators in the EU Emissions Trading System (EU Transaction Log) in one table: operator, LEI, activity, permit and verified emissions, free allocation and surrendered allowances for every year since 2005, with a Delta mode that returns only openings, closures and newly verified emissions. Run it with the Rastriq public actor on Apify; the sample of real rows downloads without signing up.

23,500

Installations and operators

2005

First year of verified emissions

30+

Countries in the system

See use cases → See real rows

CONTEXT

## What the EU ETS register is

The European Commission publishes the EU Transaction Log every day split across several files, with one row per installation per year on a fixed 2005-2030 grid.

**One row per installation.** The actor joins the files, keeps only the years with data and computes the latest-year figures: verified emissions, previous year, % change, free allocation, surrendered allowances and their gap, the lifetime total and the full yearly history.

**Source calendar.** Verified emissions for year N are reported by 31 March of N+1 and allowances are surrendered by 30 September, so the latest-year figures can move during that period.

| Type | What it is |
|---|---|
| stationary_installation | Stationary installation: power plants, cement, steel, refineries, chemicals… |
| aircraft_operator | Aircraft operator |
| maritime_operator | Shipping company |
| ets2_regulated_entity | ETS2 fuel supplier |

Installation types in the actor filter. Activity also comes with its EUTL code (20 combustion, 24 steel, 29 cement clinker…).

**What the source does not keep.** The Commission publishes the picture of the day, not a log of openings, closures or newly verified emissions. The actor does: in *Delta* mode every run compares the complete file with the previous one and returns only what is new (`new`), what changed (`changed`, with `changed_fields` and the old values in `previous_values`) and what disappeared (`removed`).

**Filters never fool the history.** The actor always reads the whole source; filters only decide which rows you receive. So a removal is never missed or invented because of a filter, and runs where the source has not changed finish in seconds and only charge the start fee.

USE CASES

## What EU ETS data is used for

Five use cases: who uses them, what you do and which fields you need.

1 · Carbon market analysis

Energy and carbon traders and analystsCompare verified emissions with free allocation by installation, sector and country, and spot who surrenders fewer allowances than it emits.**Result:** short or long position by installation and sector.

Fields: `verified_emissions_latest`, `free_allocation_latest`, `surrender_gap_latest`, `activity_type`

2 · ESG and scope 1 emissions

ESG analysts and climate researchGroup by `operator_lei` to add up a listed group's emissions and follow its trend since 2005 with the yearly history.**Result:** emissions per group and historical trend.

Fields: `operator_lei`, `operator_name`, `verified_emissions_total`, `history`

3 · Prospecting for decarbonisation

CCS, heat-pump, hydrogen, efficiency and PPA vendorsFilter by activity, country and minimum emissions to list the highest-emitting installations in your sector, with city and operator.**Result:** a list of plants (companies, never people) sorted by emissions.

Fields: `installation_name`, `activity_code`, `city`, `verified_emissions_latest`

4 · Supply chain and CBAM

Procurement, sustainability and customsCement, steel, aluminium, fertiliser and hydrogen plants with their verified emissions, to document the footprint of your European suppliers.**Result:** verified emissions per supplier plant.

Fields: `permit_id`, `activity_type`, `verified_emissions_latest`, `latest_emissions_year`

5 · Alerts on openings, closures and new emissions

Analysts, consultancies and risk teamsSchedule Delta weekly: you receive new installations, closed ones and those reporting a new year of emissions (every spring).**Result:** one alert per change, without rereading the register.

Fields: `change_type`, `changed_fields`, `previous_values`, `status`

REAL SAMPLE

## Installations in Spain and a first Delta picture

Real rows from existing runs. The sample downloads without signing up.

### Stationary installations in Spain by verified emissions

| installation_name | activity_type | city | verified_emissions_latest | emissions_change_pct |
|---|---|---|---|---|
| ARCELORMITTAL ESPAÑA, S.A. | Production of pig iron or steel | Avilés y Gijón (Asturias) | 4,673,784 | -2.24 |
| Aboño Generaciones Eléctricas, S.L.U. | Combustion of fuels | Aboño (Asturias) | 2,642,623 | -33.84 |
| Repsol Petróleo S.A. | Refining of mineral oil | Cartagena (Murcia) | 2,370,702 | -6.01 |
| Repsol Petróleo S.A. - Instalación de… | Refining of mineral oil | La Pobla de Mafumet… | 2,080,917 | -3.68 |
| Petróleos del Norte S.A. | Refining of mineral oil | Muskiz (Vizcaya) | 1,956,497 | -7.53 |
| Unión Eléctr. de Canarias Generación-CT… | Combustion of fuels | Granadilla de Abona (Santa… | 1,941,603 | 2.22 |
| Unión Eléct.Canarias Generac.-CT Barranco… | Combustion of fuels | San Bartolomé de Tirajana… | 1,660,505 | 2.08 |
| C.T. Velilla del Río Carrión, Grupo 2 | Combustion of fuels | Velilla del Río Carrión… | 1,533,383 | -14.66 |

Real rows from a run on 24 October 2026: stationary installations in Spain sorted by latest verified emissions (tCO2e).

### Delta baseline for Iceland and Liechtenstein

| registry_code | installation_type | installation_name | change_type |
|---|---|---|---|
| IS | maritime_operator | Anglo-Eastern Cruise Management Inc. | baseline |
| IS | maritime_operator | Compass Shipping 37 Corporation Limited | baseline |
| IS | stationary_installation | Geymslusvæði Carbfix hf. á Hellisheiði | baseline |
| LI | stationary_installation | Hilcona AG | baseline |

First Delta run (baseline) on 12 October 2026 for Iceland and Liechtenstein: 57 rows, 37 aircraft operators, 12 stationary installations and 8 shipping companies.

**No personal data.** Some account holders are individuals (private aircraft or small farms). When the operator name is not recognisably an organisation, the name, registration number and street address are set to null and the row is flagged; the figures stay.

[EU ETS emissions CSV](https://www.rastriq.es/muestras/emisiones-eu-ets.csv) [EU ETS emissions JSON](https://www.rastriq.es/muestras/emisiones-eu-ets.json) [Browse all samples](https://www.rastriq.es/en/samples/)

RECIPES

## Inputs ready to copy

Paste the input into the actor's JSON tab and press Start. Countries use the registry code (ES, DE, PL…).

| Task | Input (JSON) | What it is for |
|---|---|---|
| Installations in Spain | `{"mode": "snapshot", "countries": ["ES"], "installationTypes": ["stationary_installation"], "maxItems": 100}` | The sample run. |
| Cement plants in Germany and Poland | `{"mode": "snapshot", "countries": ["DE", "PL"], "activityCodes": ["29"], "includeHistory": false}` | Example from the actor README. |
| Weekly alerts for a country | `{"mode": "delta", "countries": ["ES"], "minVerifiedEmissions": 0}` | First run as baseline, then only changes. |
| Full register | `{"mode": "snapshot", "maxItems": 0}` | About 23,500 installations with yearly history. |

Rows are sorted by latest verified emissions, highest first.

| Mode | What it returns | When to use it |
|---|---|---|
| snapshot | The full list with your filters | One-off extract |
| delta | 1st run: baseline. Then: new, changed and removed | Scheduled: alerts and history |

FIELDS

## Field dictionary

One row per installation.

| Field | Description |
|---|---|
| `installation_key` | Stable registry-installation key |
| `registry_code · installation_name · permit_id · eprtr_id` | Registry country, name, permit and E-PRTR ID |
| `installation_type · activity_code · activity_type` | EUTL type and activity |
| `status` | active or closed (permit revoked or final emissions year) |
| `operator_name · operator_lei · operator_company_registration_number` | Account holder, normalised LEI and company number |
| `latest_emissions_year · verified_emissions_latest · verified_emissions_previous_year · emissions_change_pct` | Latest verified year, previous year and change (tCO2e) |
| `free_allocation_latest · surrendered_latest · surrender_gap_latest` | Free allocation, surrendered allowances and gap |
| `verified_emissions_total · history` | Lifetime total and one entry per year with data |
| `change_type · changed_fields · previous_values` | baseline / new / changed / removed |
| `quality_flags` | operator_redacted_possible_person, operator_no_legal_form, no_operator, missing_address, invalid_lei |

DELIVERY

## How you receive the data

Run it yourself, receive it on a schedule or commission the project.

Apify

You run the actor with your filters and download Excel, CSV or JSON. $2 per 1,000 installations and $4 per 1,000 changes (Bronze plan); the full register with history costs about $47.

Channels: console, API, MCP

Recurring dataset

The full register or your countries and sectors, with the change history week by week.

Channels: S3, CSV, JSON

Custom project

Matching by LEI with your portfolio, suppliers or customers.

[Data normalization](https://www.rastriq.es/en/data-normalization/)

FAQ

## Frequently asked questions about EU ETS data

### Where does the data come from?

From the European Commission's public daily EU Transaction Log (Union Registry) extracts. Each row carries the extract date in `source_updated_at`.

### How often should I run it?

In Delta, weekly or daily is plenty: the source refreshes daily and verified emissions are reported once a year, in spring.

### Why is the emissions figure empty on some rows?

Because the installation has no verified emissions on record: it is new, closed long ago or an ETS2 entity before its first reporting year.

### Can I get one row per year?

Yes: the `history` field has one entry per year. Export as JSON or flatten it in your tool.

### Is personal data included?

No. Holders that look like people lose name, registration number and street address, and the row is flagged. The free-text account label is never output.

### Does it include transactions or the Swiss registry?

No. Neither transactions nor holdings, nor the linked Swiss registry columns.

FREE SAMPLE

## Get an extract for your countries and sectors

Tell us countries, activities or groups and we will send an extract in the schema you would receive.

- 30+ countries
- Yearly emissions since 2005
- No personal data

Received. Meanwhile, download the real samples at [/en/samples/](https://www.rastriq.es/en/samples/).

RELATED PAGES

## Keep exploring

[EU financial entities MiCA, PSD2 and insurers.](https://www.rastriq.es/en/eu-financial-entities-data/) [Public data Every official data source.](https://www.rastriq.es/en/public-data/) [Buy datasets Catalogue with downloadable samples.](https://www.rastriq.es/en/buy-datasets/) [Rastriq for AI How agents read this data.](https://www.rastriq.es/en/ai/)
