How do I get started with the Day-ahead Market Data APIs?

Step 1. Select APIs you have been subscribed to

The day-ahead market data can be retrieved via Market Data - DayAhead, Market Data - UK, and Market Data - Prices APIs. Depending on what subscription you have purchased, you will have access to corresponding APIs.

The N2EX/NO2 auction results with NSL capacity can be received via Market Data - UK APIs . Please notice in order to get prices and volumes for both NO2 and GB1 areas via UK APIs you have to be subscribed to both UK and NO countries. However, in order to get flows and capacities for both NO2 and UK it is enough to be subscribed to one UK or NO.

If you are interested only in recent auction prices, it will be enough to use Market Data - Prices APIs which allow getting a maximum of 8 days' history.

The Market Data - DayAhead APIs provide prices, volumes, capacities, flows data for delivery areas you are subscribed to (except the UK - it has its own endpoints) as well as the history dating back to 2016.

Step 2. Get Authorization token

[username]- Username you got from SMS

[password]- Password from SMS

Password needs to be URL-encoded if there are special characters. For example, this "4Amf33xYLp8%5D" would become this - "4Amf33xYLp8%255D".

Use the following request template:

      
        curl --request POST \
          --url https://sts.nordpoolgroup.com/connect/token \
          --header 'Authorization: Basic Y2xpZW50X21hcmtldGRhdGFfYXBpOmNsaWVudF9tYXJrZXRkYXRhX2FwaQ==' \
          --header 'Content-Type: application/x-www-form-urlencoded' \
          --data 'grant_type=password&scope=marketdata_api&username=[username]&password=[password]'
      
    

Response example:

      
        {
          "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5CdWg4VFhkY0gzOHN0TzNaTjV3MmQtdU8zOCIsImtpZCI6Ik5CdWg4VFhkY0gzOHN0TzNaTjV3MmQtdU8zOCJ9.eyJpc3MiOiJodHRwczovL3Nzby5ub3JkcG9vbGdyb3VwLmNvbSIsImF1ZCI6Imh0dHBzOi8vc3NvLm5vcmRwb29sZ3JvdXAuY29tL3Jlc291cmNlcyIsImV4cCI6MTYzNjExOTE4NywibmJmIjoxNjM2MTE1NTg3LCJjbGllbnRfaWQiOiJjbGllbnRfbWFya2V0ZGF0YV9hcGkiLCJzY29wZSI6Im1hcmtldGRhdGFfYXBpIiwic3ViIjoiYTcxZmEwODgtZTI3MS00YTM3LWE1YjYtOTQ5MzVjNjQ2Y2M1IiwiYXV0aF90aW1lIjoxNjM2MTE1NTg3LCJpZHAiOiJpZHNydiIsInByZWZlcnJlZF91c2VybmFtZSI6IkFQSV9EQVRBX0FOVE9OIiwiYXBwbGljYXRpb25fc3Vic2NyaXB0aW9uIjoibWFya2V0ZGF0YV9hcGlfbm9yZGljYmFsdGljIiwiYW1yIjpbInBhc3N3b3JkIl19.wn3D8vkWs9DhwPm3JuDrE591uv2bYERA19Y0sRkbNbJU5MwBDlLApTkEULSCr-4jGS-3tiCB9ikkMmLrvS_58dWCQ5OH4RSiTxqfHiVhMbcd3nlqRCVpjOd_O37uv4X0m4TKRNxUSKyekADzL0bvTbZCDtkH-4Tp_nuQLocUT1gSSbv1AEar__6agPxQUgoaOhBXf7nNhH4xGG7b6QTQXqb3eyD-Z6Y1hBDlVstafvHhccLLJHwojhm562NihGnQkTEZTCHdCquMiG0HO3wwSinT3-dHEo9Ntw21Qo6R9R9tj0-7JWVMQWk5vHT_AHjrBGrQMJYxCo--yAPP-DBemhgYHVOlM0lL6ZoE0prr9jQO6VesPN80vN3Bv18qTyWI5GcOVwNQUnNOBPCygvutz88GMhJsR3PduFh6ilf1RU5D_4NCq__CoSrv7RwJ_kstPvsNo6qhyigkMgMkiNQVZbcAp8qAPoz_o1qnLJwX84bxm3xQZc-5mx-gpJhS7amHm36TTqllujNuvAIrxznrPX8k7iVm1u_i05WKpwx84kXSbXzOoPWfjNeApy-W36KuQh8-aa9qK4xFs46UfPX2JcrJmch7NFuS7hLY3GE8BKRpU30VTAcaWwdxMhrSdhGjWlHIgERTD4k1UQ6OJoa_vlwyzRiChbtYYtsZfS72hEo",
          "expires_in": 3600,
          "token_type": "Bearer"
        }
      
    

Step 3. Use the API

Full request example using authorization header from Step 2:

      
        curl --request GET \
          --url 'https://marketdata-api.nordpoolgroup.com/dayahead/prices/areaBlock?startTime=2021-10-27T00%3A00%3A00Z&endTime=2021-10-29T00%3A00%3A00Z&deliveryarea=FI' \
          --header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5CdWg4VFhkY0gzOHN0TzNaTjV3MmQtdU8zOCIsImtpZCI6Ik5CdWg4VFhkY0gzOHN0TzNaTjV3MmQtdU8zOCJ9
      
    

New query parameters "deliveryareafrom" and "deliveryareato", "currencyfrom" and "currencyto" will be introduced for several DayAhead and Operating data endpoints from 12 September 2022. How they can be used?

Originally Market Data APIs provided only one "deliveryarea" parameter that is used to filter data by delivery areas. In some cases, the APIs return more data than necessary. When asking FlowsAtAreaPrice for example DK1-NL connection and providing deliveryarea="DK1,NL" the endpoint returns data for DK1-NL, DE-DK1, NO2-DK1, DK1-SE3, DK1-NO2, and so on. For such cases, the client has to filter data on their side and add logic to remove data that is not asked for. To simplify the case of asking for the specific data we introduced two new properties: "deliveryareafrom" and "deliveryareato" to define the exact direction. The similar reasons were for introducing "currencyfrom" and "currencyto" parameters.

List of affected endpoints:

Market Data DayAhead - Capacities, CapacitiesPrognosis, ExchangeRates ("currencyfrom" and "currencyto" parameters), ExternalExportConstraints, ExternalImportConstraints, FlowsAtAreaPrice, FlowsAtSystemPrice, LongTermAllocation, PhysicalCapacities, ReductionReasons

Market Data UK - UkCapacities, UkExchangeRates ("currencyfrom" and "currencyto" parameters), UkFlowsAtAreaPrice

Market Data Operating Data - AreaExchange, Flow, InitialCapacity, TotalScheduledFlow

These new properties (deliveryareafrom and deliveryareato) are optional parameters in the request. As well only one of them can be provided in the request. Let's consider what API will return for the following query parameters:

1. if deliveryareafrom="AREA1" and deliveryareato="AREA2" are both valid areas and the customer is subscribed to them, then API returns timeseries with attributes
"attributes": [{
  "role": "from",
  "name": "deliveryArea",
  "value": "AREA1"
}, {
  "role": "to",
  "name": "deliveryArea",
  "value": "AREA2"
}]
Please note that the customer should be subscribed to at least one of the requested areas (deliveryareafrom or deliveryareafrom).

2. if deliveryareafrom="AREA3" and deliveryareato="AREA4" and deliveryarea="AREA5" are both valid areas and the customer is subscribed to them, then delivery area "AREA5" will be ignored and API returns timeseries with attributes
"attributes": [{
  "role": "from",
  "name": "deliveryArea",
  "value": "AREA3"
}, {
  "role": "to",
  "name": "deliveryArea",
  "value": "AREA4"
}]

This is a non-breaking change. Should you wish to continue using the "deliveryarea" parameter without specifying from and to, it will continue to work as it did in the old version.

What delivery areas can be used as request parameters in APIs?

Most of Market Data APIs require string parameter "deliveryarea". Here all available delivery areas are presented. If there are no data for given delivery area, then response “No Content” (status code 204) is returned. Delivery areas are divided based on the country. In order to get data for several areas, it is needed to list them separated by commas without spaces, for example, SE1,FI,NO1.

Country Name (Country code) Delivery areas
Austria (AT) AT
Belgium (BE) BE
Germany (DE) DE,DE-LU,50Hz,AMP,TTG,TBW
Denmark (DK) DK,DK1,DK2
Estonia (EE) EE
Finland (FI) FI
France (FR) FR
United Kingdom (GB) UK (for UkAreaBlockPrices, UkAreaPurchaseVolumes, UkAreaSaleVolumes, UkHalfHourAuctionAreaPrices, UkHalfHourAuctionAreaBlockPrices, UkHalfHourAreaPurchaseVolumes, UkHalfHourAreaSaleVolumes endpoints),
GB1 (for UkAreaPrices, UkAverageAreaPrices endpoints)
GB (for UkFlowsAtAreaPrice, UkCapacities endpoints)
Lithuania (LT) LT
Luxembourg (LU) DE-LU
Latvia (LV) LV
Netherlands (NL) NL
Norway (NO) NO,NO1,NO2,NO3,NO4,NO5
Poland (PL) PL,PLC
Sweden (SE) SE,SE1,SE2,SE3,SE4

For what countries does DayAhead API return data if no "deliveryarea" parameter is entered?

If no deliveryarea is entered, APIs return data for the countries the customers are subscribed to.

What objects do DayAhead, Operatind Data and Regulation Market APIs return? What does each field mean in the responses?

TimeSeries Data Object

All APIs (exept UkBlockOrders, UkPriceCurves, UserQuery) return an array of Time Series Objects filtered by request parameters such as delivery area, dates, currency, etc. A time series object is a sequence taken at successive equally spaced points in time. Definition of points depends on the category, type, subtype which are returned as part of the response object.

Field Format Description
category String Time series category. Together with type and subtype define data which will be returned by API
type String Time series type. Together with category and subtype define data which will be returned by API
SubType String Time series subtype. Together with category and type define data which will be returned by API
createdTime UNIX Epoch milliseconds Time series created timestamp, expressed as long for performance reasons
resolution String, enum Resolution defining the length of a value intervals
PT1H - hourly values
PT30M - half-hourly values
P1D - daily values
P7D -weekly values
P1M - monthly values
P1Y - yearly values
unit String, enum Unit can reprents one of the element
MW means one million Watts
MWh means the energy generated or consumed at a constant rate of one MW for the duration of one hour
GWh means the energy generated or consumed at a constant rate of one GW for the duration of one hour
EUR/MWh, DKK/MWh, SEK/MWh, NOK/MWh, GBP/MWh - price in 'currency'/MWh
SEK/EUR, NOK/EUR, DKK/EUR, EUR/GBP - exchange rates
nul is using for ReductionReasons data
scale Number, integer Resolution of values. For example, a scale of 0 indicates whole numbers, and a scale of 1 indicates that these values could be given by 1 decimal
0 means whole numbers
1 means numbers with 1 decimal
2 means numbers with 2 decimal
3 means numbers with 3 decimal
startTime Date-time ISO 8601, UTC Start time of time series
Example: 2020-10-29T00:00:00Z
endTime Date-time ISO 8601, UTC End time of time series
Example: 2020-10-30T00:00:00Z
values Array of objects List of values with time series intervals
attributes Array of objects List of attributes associated with time series
Value object:
startTime: Date-time ISO 8601, UTC Start time of value interval
Example: 2020-10-29T00:00:00Z
endTime: Date-time ISO 8601, UTC End time of value interval
Example: 2020-10-29T01:00:00Z
value Number, double Value depends on the time series category, type, and subtype. In most cases, it represents the energy volume delivered during a time interval or calculated price
Attribute object:
name String, enum Time series attribute name
deliveryArea
status
blockName
currency
endpoint
confirmationStatus (since 12 May 2021) for Prices & Volumes & Flows with unconfirmed, confirmed, cancelled values.
· unconfirmed means the results of day ahead auction are preliminary
· confirmed means the results of day ahead auction are confirmed
· cancelled means the results of day ahead auction are cancelled
value String Time series attribute value
role String Optional (can be equal null). It is used to add context to the attribute
Example: in case of deliveryArea, "form" or "to" values show direction of energy delivery

UkBlockOrders Data Object

UkBlockOrders returns CSV file back. Each row of the file represents a block order. Its data is listed in columns: the first 15 columns describe block order details such as Area, Type, ID, Block, Dur., familyID, parentBlockID, MinAccep.%, Currency, Avg price, VWAP, Order price, Quant, Accep. %, Status, and second 24 columns represent volumes for every hour.

When is data updated?

DayAhead AreaBlockPrices, AreaPrices, LocationPrices, PriceCurves, SystemPrices, TurnoverAtSystemPrice, AreaPurchaseVolumes and AreaSaleVolumes datas are updated daily, after day-ahead price setting.
DayAhead prognosis for transmission capacity is updated every Friday.
DayAhead capacities and capacity reduction reasons are published before 10:00 CET on the day before delivery.
DayAhead ExchangeRates are updated daily.
DayAhead FlowsAtAreaPrices are updated daily, after day-ahead price setting, usually before 14:00 CET.

Regulation Market data is updated several times during the day. As TSO updates our system the data will be rolling to the Regulation Market service and information will be avilable through the API.

UkAreaBlockPrices, UkAreaPrices, UkAreaPurchaseVolumes, UkAreaSaleVolumes, UkHalfHourAuctionAreaBlockPrices, UkHalfHourAuctionAreaPrices, UkHalfHourAreaPurchaseVolumes and UkHalfHourAreaSaleVolumes datas are updated daily, after UK day-ahead price setting.
UkBlockOrders and UkPriceCurves data are updated daily, at 9:30AM in GMT.
UkCapacities data is published at 09:30 CET.
UkFlowsAtAreaPrice data is published around 11:00 CET.

What objects does Intraday orders API return? What does each field mean in the response?

The Intraday orders API returns an array of objects in JSON format. The fields from the order object are described in the following table.

Field Format Description
createdTime String (ISO 8601, UTC) Time of creation of the order
updatedTime String (ISO 8601, UTC) Last update time for the order
expirationTime String (ISO 8601, UTC) If "timeInForce" field is set to "GTD" (Good Till Date), the expirationTime will determine when the order expires. Otherwise "expirationTime" = "1970-01-01T00:00:00.0000000Z"
createdTimeEpoch UNIX Epoch milliseconds Order created timestamp, expressed as long for performance reasons
updatedTimeEpoch UNIX Epoch milliseconds Order last updated timestamp, expressed as long for performance reasons
expirationTimeEpoch UNIX Epoch milliseconds Order expiration timestamp, expressed as long for performance reasons
id String Id of an existing order
originalOrderId String The original order id in the modification chain.
previousOrderId String Id of the previous order in the modification chain. When an order is modified and its priority changes, or partially matched, a new order Id is assigned.
revisionNumber Long The latest revision number of the order
quantity Long Quantity
price Long Price
deliveryArea String, enum The delivery area code of the order
productCode String A medium length product name for the contract
orderType String, enum Order type
Limit - A limit order is a buy or sell order with a specified price limit, where buy orders can be executed at the limit price or lower and sell orders can be executed at the limit price or higher. Limit orders may be partially executed.
IBO - A type of limit order, usually with a large volume, with the purpose of hiding the full size of the order by dividing it into smaller clips. The first clip is shown to the market and the next clips will be visible when the previous ones have been fully matched. New clips receive a new time stamp.
User defined block - A block order consisting of one or several (up to 24) consecutive hourly products. User-defined block orders are all-or-nothing orders where only the entire volume may be executed.
side String, enum Order side
sell
buy
state String, enum Order state
active - An order can be matched either in part or in entirety. If the order is not fully matched it will remain "active" in the market.
inactive - If the order is fully matched or closed (the product the order is placed on goes into expiry) then the status will be "inactive". The inactive order will never be reopened.
hibernate - If the order is deactivated by the user then the order will be placed as "hibernate" and can be reopened.
pending - Pending status is acknowledgment that order received by exchange.
action String, enum UserAdded - Order added by a user
UserHibernated - Order deactivated by a user
UserModified - Order modified by a user
UserDeleted- Order deleted by a user
SystemHibernated - Order deactivated by the system
SystemModified - Order modified by the system
SystemDeleted - Order deleted by the system
PartialExecution - Order is partially executed
FullExecution - Order is fully executed
IcebergSliceAdded - A new slice of an Iceberg order was added to the service
timeInForce String, enum FOK - Fill or Kill. The order is immediately fully executed or deleted.
IOC - Immediate or cancel. The order is executed immediately to its maximum extent. In a case of a partial execution, the remaining volume is removed from the order book.
GFSession - Good for the trading session. The order rests in the order book until it is either executed, removed by the user or the current trading session (trading phase) of the underlying contract ends.
GTD - Good Till Date. The order rests in the order book until the date specified in the expireTime field.
productType String, enum Product type
QH - Quarter Hour
HH - Half Hour
PH - Power Hour
Block_2h - 2 Hour
Block_4h - 4 Hour
DON - Day Overnight
DB34 - Block 3+4
DP - Day Peak
DEP - Day Extended Peak
DB - Day Base
CustomBlock - Custom Block

What objects does Intraday trades API return? What does each field means in the response?

The Intraday trades API returns an array of objects in JSON format. The fields from the trade object are described in the following table.

Field Format Description
tradeTimeEpoch UNIX Epoch milliseconds Trade created timestamp, expressed as long for performance reasons
tradeTime String (ISO 8601, UTC) Time of creation of the trade
id Long Unique identifier of trade event
tradeId String Trade ID
displayName String A medium length display name for the contract
eventSequence Int Sequence number for tracking received trade events
revisionNumber Long The latest revision number of the trade
currency String, enum Currency code
tradeState String, enum Completed - the trade is completed.
Cancelled - the trade is cancelled.
Disputed - the trade is pending decision for cancellation.
Not cancelled - the trade cancellation request was rejected.
buyArea String, enum The delivery area code of the buy order.
sellArea String, enum The delivery area code of the sell order.
deliveryStart String (ISO 8601, UTC) Start time of the delivery
deliveryEnd String (ISO 8601, UTC) End time of the delivery
tradeUpdatedOn String (ISO 8601, UTC) Last update time for the trade
buyContractId String ID of the contract
buyUnitPrice Long Price
buyQuantity Long Quantity traded
buyOrderState String, enum The fields "buyOrderState" and "sellOrderState" can have one of the following values:
active - An order can be matched either in part or in entirety. If the order is not fully matched it will remain "active" in the market.
inactive - If the order is fully matched or closed (the product the order is placed on goes into expiry) then the status will be "inactive". The inactive order will never be reopened.
hibernate - If the order is deactivated by the user then the order will be placed as "hibernate" and can be reopened.
pending - Pending status is acknowledgment that order received by exchange.
buyReferenceOrderId String Id of the buy order involved in the trade
sellContractId String ID of the contract
sellUnitPrice Long Price
sellQuantity Long Quantity traded
sellOrderState String, enum See description of the "buyOrderState" field above
sellReferenceOrderId Id of the sell order involved in the trade
sellCrossPx Boolean The fields "sellCrossPx" and "buyCrossPx" are used to define whether or not it is a cross PX trade. If both orders belonged to the Nord Pool market (in this case "sellCrossPx": false, "buyCrossPx": false) then the non-zero values of the fields "buyQuantity" and "sellQuantity" are equal to each other. In the case when one of the orders belonged to Other Power Exchanges (OPX) then the trade contains "quantity" only for the side which is presented in Nord Pool, the other side's area has value OPX and quantity should be zero. For "OPX" order the country to/from which the power is traded is not defined. The flags sellCrossPx, buyCrossPx are used to highlight when one of the trade sides belongs to Other Power Exchange (OPX).
buyCrossPx Boolean See description of the "sellCrossPx" field above

What objects does Intraday Hub2Hub capacities API return? What does each field mean in the response?

The Intraday Hub2Hub capacities API returns an array of objects in JSON format. The fields from the trade object are described in the following table.

Field Format Description
areaFrom String, enum Code of the outgoing delivery area
areaTo String, enum Code of the incoming delivery area
inCapacity Int Available capacity: incomingDeliveryArea → outgoingDeliveryArea
outCapacity Int Available capacity: ougoingDeliveryArea → incomingDeliveryArea
deliveryStart String (ISO 8601, UTC) Delivery start date
deliveryEnd String (ISO 8601, UTC) Delivery end date
publicationTime String (ISO 8601, UTC) Timestamp when the capacity has beed changed
internal Boolean true - capacity data published by the internal Nord Pool Matcher
false - capacity data published by the XBID system.
border Boolean Deprecated, always false

What data is returned by MarketData APIs?

DayAhead APIs

In the next table, you can find information about endpoints with a description of what data they are returning.

API endpoint Data description Counries
AreaBlockPrices Area block prices represent the result of Nord Pool’s day ahead implicit auction market. It returns prices for a certain number of consecutive hours (blocks) within the same day.
Peak = 08:00 to 20:00
Off-Peak-1 = 00:00 to 08:00
Off-Peak-2 = 20:00 to 00:00
Prices are available in the country’s currency.
All countries listed in the table, except United Kingdom (it has its own endpoints)
AreaPrices Area prices represent the result of Nord Pool’s day ahead implicit auction market. It returns prices for every hour during the day.
Prices are available in the country’s currency.
All countries listed in the table, except United Kingdom (it has its own endpoints)
AverageAreaPrices
AverageLocationPrices
AverageSystemPrices
The prices for the day or the average prices are calculated as an arithmetic average of the hourly prices. See AreaPrices, LocationPrices and SystemPrices correspondingly
AreaPurchaseVolumes
AreaSaleVolumes
The aggregated volume bought and sold by participants in each bidding area.
Note. From 1. January 2020: The result of the imported/exported market coupling volumes are no longer included in the buy and sell volumes for the Elspot areas NO2, DK1, DK2, LT and SE4.
For Estonia, Latvia and Lithuania total volume is now included volumes bought or sold for export or import towards Russia, Kaliningrad and Belarus on specific portfolios or export/import areas established for the purpose of implicit handling of transmission capacity.
All countries listed in the table, except United Kingdom (it has its own endpoints)
Capacities The day-ahead trading capacities give the upper limit for power flow between the bidding areas. Cables between connected bidding zones of the Nordics, Baltics, Poland, Belarus, Russia. The capacities are published before 10:00 on the day before delivery.
Maximum Net Transfer Capacities map can be found here.
Note. LBE = Lithuanian Belarus Export area
LBI = Lithuanian Belarus Import area
LKAL = Lithuanian Kaliningrad border
LRE = Latvian Russian Export area
LRI = Latvian Russian Import area
FRE = Finnish Russian Export area
Belgium, Germany, Denmark, Estonia, Finland, Latvia, Lithuania, Norway, Sweden, Poland
CapacitiesPrognosis Prognosis for transmission capacities from Nord Pool's UMM system and is updated every Friday. This setup unifies the data Nord Pool publish with requirements in Transparency Regulation (EU) No 543/2013. Cables between connected bidding zones of the Nordics, Baltics, Poland, Belarus, Russia. Denmark, Estonia, Finland, Latvia, Lithuania, Norway, Sweden
ExchangeRates Daily currency exchange (both preliminary and official) rates applied to day-ahead contracts. Currencies concerned: EUR, NOK, SEK, DKK.
More information about preliminary and official exchange rates can be found here.
The endpoint does not require to input delivery areas/countries.
ExternalExportConstraints
ExternalImportConstraints
External constraints limit the bidding zone (BZ) net position, which represents the total net exchange of the BZ with its neighbors (both through FB and ATC network model). Thus, transit flow via the BZ is still allowed.
- Data is available from 9. June 2022.
ExternalExportConstraints is the Up direction
ExternalImportConstraints is the Down direction
Belgium, Poland
FlowsAtAreaPrice Planned cross-border day-ahead power flow per hour. Cables between connected bidding zones of the Nordics, Baltics, Poland, Belarus, Russia All countries listed in the table, except United Kingdom (it has its own endpoints)
FlowsAtSystemPrice System price flow EstLink, SwePol Link and NordBalt. Data are available up to 8. January 2019. Starting from 9. January 2019 there are no data. Finland, Estonia, Lithuania, Sweden
LocationPrices Day Ahead prices for the following trading points: Oslo, Trondheim, Kristiansand, Kristiansund, Tromsø, Bergen, Molde Norway
LongTermAllocation Long term allocation time series (LTA domain) allows Euphemia to take into account the impact of long term capacity explicit allocations on individual FB internal borders in SDAC calculation process. This is required by Core TSOs to ensure that SDAC congestion incomes cover also the obligations coming from LTAs.
- Data is available from 9. June 2022.
Austria, Belgium, Germany, France, Netherlands, Poland
PhysicalCapacities Russian-Nordic capacities Finland, Norway
PriceCurves System price curves are aggregated and anonymised buy and sell order curves for the day-ahead auction. The endpoint returns price value and corresponding volume value from min price to max price. These data represent only the single hourly orders. The endpoint does not require to input delivery areas/countries.
ReductionReasons Capacity reduction codes. Reason of limitation is described by 2+2 numbers, where the two first describe reason and the two last describe area/location/connection/bottleneck. Here you find the reason codes and the area/location codes. Denmark, Estonia, Finland, Norway, Sweden
SystemBlockPrices The endpoint does not require to input delivery areas/countries.
SystemPrices The system price for each hour is based on the intersection of the aggregated supply and demand curves representing all bids and offers in the entire Nordic market. It disregards physical capacity limitations between the Nordic bidding areas, while the capacity limitations in/out Nordic are considered.
The System Price is the main reference for traded long term financial Nordic contracts.
Prices are available in the country’s currency.
The endpoint does not require to input delivery areas/countries.
TurnoverAtSystemPrice Hourly day-ahead turnover at system price is reflecting the volume from the system price calculation The endpoint does not require to input delivery areas/countries.

Operating Data APIs

In the next table, you can find information about endpoints with a description of what data they are returning.

API endpoint Data description Counries
AreaExchange Cross-border exchange Denmark, Estonia, Finland, Latvia, Lithuania, Norway, Sweden
Capacity Weekly hydro reservoir inflow figures in GWh Finland, Norway, Sweden
ConsumptionPrognosis Day-ahead consumption prognosis Denmark, Estonia, Finland, Latvia, Lithuania, Norway, Sweden
Content Weekly reservoir content in GWh Finland, Norway, Sweden
Flow Intraday flow Denmark, Estonia, Finland, Lithuania, Latvia, Norway, Sweden
InitialCapacity Intraday initial capacity Denmark, Estonia, Finland, Lithuania, Latvia, Norway, Sweden
NetExchange Net exchange Denmark, Estonia, Finland, Latvia, Lithuania, Norway, Sweden
ProductionTotals Settled power production Denmark, Estonia, Finland, Latvia, Lithuania, Norway, Sweden
TotalConsumption Settled consumption Denmark, Estonia, Finland, Latvia, Lithuania, Norway, Sweden
TotalPrognosis Day-ahead production prognosis Denmark, Estonia, Finland, Latvia, Lithuania, Norway, Sweden
TotalScheduledFlow Intraday total scheduled flow Denmark, Estonia, Finland, Lithuania, Latvia, Norway, Sweden
WindPower Settled wind production Denmark, Estonia, Finland, Latvia, Lithuania, Sweden
WindPrognosis Day-ahead wind production prognosis Denmark, Estonia, Latvia, Lithuania, Sweden

Regulation Market APIs

In the next table, you can find information about endpoints with a description of what data they are returning.

API endpoint Data description Counries
AutomaticReserveDownVolume
AutomaticReserveUpVolume
Hourly automatic activated reservers
(1) = Up | (-1) = Down | (0) = no regulation
Denmark, Finland, Norway, Sweden
OrdinaryDownVolume
OrdinaryUpVolume
Hourly volume for up and down regulation in each bidding area
(1) = Up | (-1) = Down | (0) = no regulation
Data sources: Statnett (NO), Svenska Kraftnät (SE), Fingrid (FI), Energinet.dk (DK)
Denmark, Finland, Norway, Sweden
SpecialDownVolume
SpecialUpVolume
Hourly volume for up and down regulation in each bidding area.
Regulation which takes place in the regulating power market by
* Statnett;
* Svenska Kraftnät for reasons other than the needs of national balance management;
* Fingrid for reasons other than the needs of national balance management;
* Energinet.dk due to special reasons.
Denmark, Finland, Norway, Sweden
TotalDownVolume
TotalUpVolume
Hourly volume of up and down regulating bids
The Norwegian values do include the reserve bids.
The Swedish values do include commercial bids, disturbance reserve and the peak load reserve.
The Finnish values include commercial bids and fast disturbance reserve, but do not include 600 MW peak load power capacity in Finland.
The Danish values include commercial bids and bids from manual reserve.
Data sources: Statnett (NO), Svenska Kraftnät (SE), Fingrid (FI), Energinet.dk (DK)
Denmark, Finland, Norway, Sweden

UK APIs

API endpoint Data description
UkAreaBlockPrices Day Ahead Auction Prices represent the result of UK’s day-ahead implicit auction market. It returns prices for a certain number of consecutive hours (blocks) within the same day.
Base = 23:00 to 23:00 GMT/BST
Overnight = 23:00 to 07:00 GMT/BST
Peak = 07:00 to 19:00 GMT/BST
Extended Peak = 07:00 to 23:00 GMT/BST
Block 3+4 = 07:00 to 15:00 GMT/BST
Block 5 = 15:00 to 19:00 GMT/BST
Block 6 = 19:00 to 23:00 GMT/BST
UkAreaPrices Day Ahead Auction Prices represent the result of UK’s day-ahead implicit auction market. It returns prices for every hour during the day.
UkAreaPurchaseVolumes
UkAreaSaleVolumes
N2EX Day Ahead Auction aggregated volume bought and sold by participants.
UkBlockOrders UK Block Orders represent block order details including volume and price. More information about block orders can be found here.
UkCapacities UK Market coupling capacities.
- Data are available up to 31. December 2019.
- There are no data starting from 1. January 2020 up to 30. September 2021.
- Since 1. October 2021 Nord Pool provides NSL Capacities.
UkExchangeRates From 1 January 2021 the daily exchange rates are only used in SEM-GB intraday auction
UkFlowsAtAreaPrice UK Market coupling flows.
- Data are available up to 31. December 2019.
- There are no data starting from 1. January 2020 up to 30. September 2021.
- Since 1. October 2021 Nord Pool provides NSL Flows.
UkHalfHourAreaPurchaseVolumes
UkHalfHourAreaSaleVolumes
GB Half Hourly Day Ahead Auction aggregated volume bought and sold by participants.
UkHalfHourAuctionAreaBlockPrices GB Half Hourly Block Day Ahead Auction Prices. The block names are the same as for UkAreaBlockPrices endpoint.
UkHalfHourAuctionAreaPrices GB Half Hourly Day Ahead Auction Prices
UkPriceCurves UK Price Curves are aggregated and anonymised buy and sell order curves for UK day-ahead auction. The endpoint returns price value and corresponding volume value from min price to max price.

HubToHub Capacities API

HubToHub Capacities API provides transmission capacity available between two areas, no matter the path through the power grid. So it's not a border/cable capacity but rather the sum of all available paths that power could flow.

The request has two required parameters "powerHour" (for example, 2023-02-22T01:00:00Z), "daFrom" and one optional "daTo". When you specify the "daTo" area, you will receive capacities between "daFrom" and "daTo" areas for a requested hour. The request without daTo" area will result in data about all connections to "daFrom" area.

Historical data from 9th March 2021 T22:00:00 UTC is available.

Where the mapping between Data Portal and Market Data API can be found?

In the next table, you can find the mapping between Data Portal and Market Data API.

NORD POOL DAY-AHEAD


NORD POOL INTRADAY


NORD POOL UK


REGULATING POWER


POWER SYSTEM DATA