📈 Battery revenue with our forecast simulated:See tomorrow’s forecast →
progrunners / Italian market data

Italy prices by zone, and bills by average

Italian power data is split between two publishers: Terna (the TSO) for load, generation and cross-border flows, and GME (the market operator) for day-ahead, intraday and ancillary market results, zonal prices and the PUN Index GME. Generators are paid their zonal price; since 1 January 2025 buyers pay zonal prices too, and the PUN Index GME, a quantity-weighted average of the seven zones, is a reference index, not a market price.

The Italian market has seven physical price zones, a national reference price that nobody generates or buys at, and two publishers that split the data between them. None of it is hard once the vocabulary clicks. Generators are paid by zone, but many retail bills are still indexed to an average, the PUN Index GME.

· Written for developers integrating Italian market data. Verified September 2026.
On this page
  1. Terna Download Center
  2. Terna and GME
  3. Zones and the PUN
  4. The Terna developer portal
  5. Practical notes

Terna Download Center

Terna publishes its operational series through the Download Center and the transparency API. The Download Center is the manual route — pick a series, pick a period, get a spreadsheet. The API is the one to automate against.

Terna and GME

PublisherHoldsAccess
Terna
transmission system operator
Load, generation by source, installed capacity, cross-border flows, ancillary services, adequacy.Developer portal with registration and client credentials, plus a download centre for bulk files.
GME
market operator
Day-ahead (MGP), intraday (MI) and ancillary services (MSD) results, zonal prices, PUN, volumes, supply and demand curves.Public downloads in XML and Excel, organised by market and date.

The split is clean: Terna for the system, GME for the market. If your question is "what did the grid do", it is Terna. If it is "what did it clear at", it is GME.

Zones and the PUN

Italy is divided into seven physical bidding zones — North, Centre-North, Centre-South, South, Calabria, Sicily, Sardinia — plus virtual zones for foreign borders. Generators are paid their zonal price. Until the end of 2024 buyers on the day-ahead market paid the PUN, the national single price. Since 1 January 2025 they pay zonal prices too, and GME publishes the national reference as the PUN Index GME, an average of the zonal prices weighted by the quantities bought in each zone; many retail contracts are still indexed to it.

The PUN Index GME is not a market price. Nobody generates or buys at it and no unit is dispatched against it — it is a reference index. Modelling generator revenue against PUN instead of zonal prices is wrong, and it is the most common Italian mistake.

The zonal structure was redrawn in 2021 when Calabria was separated out; historical series before and after are not directly comparable in the south. If you are backtesting across that boundary, handle it explicitly.

ENTSO-E carries the Italian zones separately — North is 10Y1001A1001A73I, Sicily 10Y1001A1001A75E, Sardinia 10Y1001A1001A74G. That is usually the easiest way to get zonal prices comparable with the rest of Europe; see our ENTSO-E API guide.

The Terna developer portal

Terna runs an API portal where you register an application and receive client credentials, then exchange them for a bearer token. The datasets are documented and versioned, which is more than can be said for several larger markets.

# token (application/x-www-form-urlencoded) POST https://api.terna.it/public-api/access-token client_id={ID}&client_secret={SECRET}&grant_type=client_credentials # a dataset: total load GET https://api.terna.it/load/v2.0/total-load ?dateFrom=15/09/2026&dateTo=16/09/2026&biddingZone=North Authorization: Bearer {TOKEN}

Practical notes

  1. Sicily and Sardinia behave differently. Both are island systems with limited interconnection, and their prices decouple regularly. Sardinia in particular can sit far from the mainland for days.
  2. MSD is where the money is. The ancillary services market often clears at prices far above the day-ahead, and for storage or flexible assets it dominates the revenue stack. GME publishes it; most foreign models ignore it.
  3. Searching for "GME data" is polluted. Google mixes the Italian market operator with the GameStop ticker, so keyword research and general search alike return noise. Search for "Mercato Elettrico" or "MGP" instead.
  4. Times are local (CET/CEST) in both Terna and GME outputs. Since 1 October 2025 the day-ahead market (SDAC) clears in 15-minute periods: 96 per day, 92 and 100 on clock-change days. Older series count hours 1–24.

Frequently asked questions

What is the PUN?
The Prezzo Unico Nazionale — the national price buyers paid on the Italian day-ahead market until 2024. Since 1 January 2025 buyers pay zonal prices and GME publishes the PUN Index GME, a quantity-weighted average of the zonal prices used as a reference in contracts. Generators are paid their zonal price, not the PUN.
Where do I get Italian day-ahead prices?
GME publishes MGP results including zonal prices and the PUN Index GME. ENTSO-E carries the same zonal prices in a schema comparable with other European markets.
Does the Terna API need registration?
Yes. You register an application on the Terna developer portal and exchange client credentials for a bearer token. The download centre offers the same data as files.
How many Italian bidding zones are there?
Seven physical zones — North, Centre-North, Centre-South, South, Calabria, Sicily and Sardinia — plus virtual zones. Calabria became a zone on 1 January 2021, so older series are not directly comparable in the south.
Why is it hard to search for GME data?
Because search engines conflate the Italian market operator with the GameStop ticker. Use "Mercato Elettrico" or the market codes MGP and MI.

Zonal from the start

Italian work means zones, islands and an ancillary market that dominates flexible-asset revenue. We build data layers that model that properly rather than averaging it away. Talk to us.

Get in touch