📈 Battery revenue with our forecast simulated:See tomorrow’s forecast →
progrunners / ENTSO-E API guide / EIC codes

EIC codes for European bidding zones

An EIC (Energy Identification Code) is the 16-character identifier ENTSO-E uses for bidding zones, control areas, market parties and physical objects — for example 10Y1001A1001A82H for Germany–Luxembourg (DE-LU) and 10YCZ-CEPS-----N for Czechia. This page lists the EIC codes of 44 European bidding zones, plus the documentType and processType codes an ENTSO-E API query needs.

Updated

Every ENTSO-E query needs a domain parameter, and every domain parameter is an EIC code. This is the lookup table, plus the document and process types you will need next. Click a code to copy it.

What is an EIC code?

An EIC — Energy Identification Code — is the 16-character identifier used across European electricity and gas markets for areas, market parties and physical objects. ENTSO-E runs the scheme and issues codes through local issuing offices. The first two characters name the issuing office, the third says what kind of object it is (Y for areas such as bidding zones and control areas, X for market parties, W for resources such as power plants), and the last character is a check character. So 10YCZ-CEPS-----N is an area code issued centrally by ENTSO-E: the Czech bidding zone.

3rd charObject typeExamples
XPartyMarket participants, TSOs, traders, balance responsible parties
YArea or domainBidding zones, control areas, countries, scheduling areas
ZMeasurement pointMetering points
WResource objectGenerating units, power plants, consumption units
TTie lineInterconnectors between areas
VLocationLocations such as a point on the network
ASubstationSubstations

You meet them in every ENTSO-E query and on the Transparency Platform; the bidding zone codes are listed below.

The same three tables are on GitHub as CSV and JSON, public domain: whipeeer-creator/eic-codes — for loading in code rather than copying a cell.

Bidding zones

ZoneShortEIC codeNote
AustriaAT10YAT-APG------LSeparated from DE-AT-LU on 1 Oct 2018
BelgiumBE10YBE----------2
BulgariaBG10YCA-BULGARIA-R
CroatiaHR10YHR-HEP------M
CzechiaCZ10YCZ-CEPS-----N
Denmark 1DK110YDK-1--------WSynchronous with continental Europe
Denmark 2DK210YDK-2--------MSynchronous with the Nordic system
EstoniaEE10Y1001A1001A39I
FinlandFI10YFI-1--------U
FranceFR10YFR-RTE------C
Germany–LuxembourgDE-LU10Y1001A1001A82HOne zone, four control areas
Germany–Austria–Lux (historic)DE-AT-LU10Y1001A1001A63LValid until 30 Sep 2018; needed for older series
Great BritainGB10YGB----------AHalf-hourly settlement periods
GreeceGR10YGR-HTSO-----Y
HungaryHU10YHU-MAVIR----U
Ireland (SEM)IE-SEM10Y1001A1001A59CAll-island market with NI
Italy NorthIT-North10Y1001A1001A73I
Italy Centre-NorthIT-CNorth10Y1001A1001A70O
Italy Centre-SouthIT-CSouth10Y1001A1001A71M
Italy SouthIT-South10Y1001A1001A788Calabria split off in 2021
Italy CalabriaIT-Calabria10Y1001C--00096JZone created in 2021
Italy SicilyIT-Sicily10Y1001A1001A75EIsland, frequently decoupled
Italy SardiniaIT-Sardinia10Y1001A1001A74GIsland, frequently decoupled
LatviaLV10YLV-1001A00074
LithuaniaLT10YLT-1001A0008Q
MontenegroME10YCS-CG-TSO---S
NetherlandsNL10YNL----------L
North MacedoniaMK10YMK-MEPSO----8
Norway 1 (Oslo)NO110YNO-1--------2
Norway 2 (Kristiansand)NO210YNO-2--------T
Norway 3 (Trondheim)NO310YNO-3--------J
Norway 4 (Tromsø)NO410YNO-4--------9
Norway 5 (Bergen)NO510Y1001A1001A48H
PolandPL10YPL-AREA-----S15-minute settlement since the 2024 reform
PortugalPT10YPT-REN------WCoupled with Spain as MIBEL
RomaniaRO10YRO-TEL------P
SerbiaRS10YCS-SERBIATSOV
SlovakiaSK10YSK-SEPS-----K
SloveniaSI10YSI-ELES-----OCoupled with IT, AT, HR, HU
SpainES10YES-REE------0Islands are separate systems
Sweden 1 (Luleå)SE110Y1001A1001A44P
Sweden 2 (Sundsvall)SE210Y1001A1001A45N
Sweden 3 (Stockholm)SE310Y1001A1001A46L
Sweden 4 (Malmö)SE410Y1001A1001A47JOften far above SE1
SwitzerlandCH10YCH-SWISSGRIDZNot in EU market coupling

Document types

What kind of data you are asking for. Pass as documentType.

CodeMeaningNote
A44Price documentDay-ahead prices
A65System total loadA01 forecast · A16 realised
A69Wind and solar forecastA01 day-ahead · A18 intraday
A71Generation forecast
A73Actual generation
A75Actual generation per typeCounterpart to A69
A77Production unavailability
A80Generation unavailabilityOutages, urgent market messages
A83Activated balancing energyaFRR / mFRR volumes
A84Activated balancing prices
A85Imbalance prices
A86Imbalance volumes
A89Contracted reserve prices

Process types

Which run of the data. Pass as processType — the same document type means different things depending on it.

CodeMeaning
A01Day ahead
A16Realised
A18Intraday total
A31Week ahead
A32Month ahead
A33Year ahead
A40Intraday process
A46Replacement reserve
A47Manual frequency restoration reserve (mFRR)
A51Automatic frequency restoration reserve (aFRR)
A52Frequency containment reserve (FCR)

Using them

Depending on the document, the domain parameter is in_Domain, outBiddingZone_Domain or controlArea_Domain. Using the wrong one returns an empty response rather than an error, which is the most common reason a query “does not work”. We cover that and the rest in the guide to the ENTSO-E API.

Frequently asked questions

What is an EIC code?

An EIC (Energy Identification Code) is a 16-character identifier used in European electricity and gas markets for areas, market parties and physical objects. ENTSO-E runs the scheme; codes are issued by its central issuing office and by local issuing offices.

What is the format of an EIC code?

Always 16 characters: two for the issuing office, one for the object type (for example Y for an area, X for a party), twelve for the identifier itself, padded with hyphens, and one check character at the end.

What does 10Y mean in an EIC code?

10 is the ENTSO-E central issuing office and Y means the code identifies an area, such as a bidding zone, control area or country. That is why almost all bidding zone codes start with 10Y.

What is the EIC code for Germany?

The German-Luxembourg bidding zone, used for day-ahead prices, is 10Y1001A1001A82H. Germany as a country or control area is 10Y1001A1001A83F. Mixing them up is a common reason an ENTSO-E query returns nothing.

Where can I find the EIC code of a company?

Codes of market parties (X codes) are in the list of approved EIC codes that ENTSO-E publishes on its website, and with the local issuing office of the country, usually the TSO.

Compiled from the ENTSO-E Transparency Platform, last checked 1 November 2026. Codes change when zones are created or merged — the DE-AT-LU and Italian Calabria entries are the usual traps. progrunners is not affiliated with ENTSO-E.