data.nordpoolgroup.com APIdata.nordpoolgroup.com ↗
Access Nord Pool day-ahead prices, system prices, intraday OHLC statistics, and market area configuration via 6 structured endpoints.
curl -X GET 'https://api.parse.bot/scraper/b76f029f-4825-4c3f-9266-e5925a267245/get_day_ahead_prices?area=NO1&date=2026-02-24&market=DayAhead¤cy=EUR' \ -H 'X-API-Key: $PARSE_API_KEY'
Fetch day-ahead electricity prices for a specific date and market area. Returns 15-minute interval prices, block price aggregates, and area averages. Defaults to today's date if not specified.
| Param | Type | Description |
|---|---|---|
| area | string | Delivery area code (e.g. NO1, SE1, AT, FI, DK1, DK2, EE, LT, LV, DE-LU) |
| date | string | Date in YYYY-MM-DD format. Defaults to today. Recent data only (~12 days). |
| market | string | Market name (e.g. DayAhead) |
| currency | string | Currency for price display (EUR, NOK, SEK, DKK, BGN, GBP) |
{
"type": "object",
"fields": {
"market": "string, market name",
"version": "integer",
"currency": "string",
"updatedAt": "string, ISO timestamp of last update",
"areaAverages": "array of objects with areaCode and average price",
"deliveryAreas": "array of area code strings",
"deliveryDateCET": "string, delivery date in CET timezone",
"multiAreaEntries": "array of 15-min interval price entries with deliveryStart, deliveryEnd, entryPerArea",
"blockPriceAggregates": "array of block price summaries (Peak, Off-peak 1, Off-peak 2)"
},
"sample": {
"data": {
"market": "DayAhead",
"version": 2,
"currency": "EUR",
"updatedAt": "2026-05-13T11:05:14.5299014Z",
"areaStates": [
{
"areas": [
"AT"
],
"state": "Final"
}
],
"areaAverages": [
{
"price": 108.34,
"areaCode": "AT"
}
],
"exchangeRate": 1,
"deliveryAreas": [
"AT"
],
"deliveryDateCET": "2026-05-14",
"multiAreaEntries": [
{
"deliveryEnd": "2026-05-13T22:15:00Z",
"entryPerArea": {
"AT": 156.68
},
"deliveryStart": "2026-05-13T22:00:00Z"
}
],
"blockPriceAggregates": [
{
"blockName": "Off-peak 1",
"deliveryEnd": "2026-05-14T06:00:00Z",
"deliveryStart": "2026-05-13T22:00:00Z",
"averagePricePerArea": {
"AT": {
"max": 156.68,
"min": 111.66,
"average": 132.37
}
}
}
]
},
"status": "success"
}
}About the data.nordpoolgroup.com API
This API exposes 6 endpoints covering Nord Pool electricity market data, including day-ahead prices at 15-minute resolution, system price turnover, intraday OHLC statistics, and market area configuration. The get_day_ahead_prices endpoint returns per-interval prices across delivery areas such as NO1, SE1, DK1, AT, and FI, along with block price aggregates for Peak, Off-peak 1, and Off-peak 2 periods. Data is available for approximately the most recent 12 days without authentication.
Day-Ahead and System Prices
The get_day_ahead_prices endpoint accepts area, date, market, and currency parameters and returns multiAreaEntries — an array of 15-minute interval objects each containing deliveryStart, deliveryEnd, and entryPerArea price mappings. It also returns areaAverages per delivery area and blockPriceAggregates covering named periods like Peak and Off-peak. The get_system_price endpoint returns the Nord Pool reference clearing price in multiDataEntries, where each entry includes price and turnover, plus blockDataAggregates with averagePrice, maxPrice, minPrice, and turnover per block.
Date Range and Intraday Data
get_hourly_prices_by_date_range accepts start_date and end_date (max 31-day span) and returns a daily_results array, each element matching the structure of a single get_day_ahead_prices response. For intraday markets, get_intraday_stats returns hourlyStatistics with highPrice, lowPrice, openPrice, closePrice, averagePrice, volume, buyVolume, and sellVolume per delivery hour, expressed in units given by priceUnit (e.g. EUR/MWh) and volumeUnit (e.g. MWh).
Market Configuration and Indices
get_market_areas requires no parameters and returns all available areas with fields including code, name, region, validFrom, validTo, isTradingArea, isCapacityArea, and isIndexArea, alongside supported currencies. The get_day_ahead_indices endpoint returns multiIndexEntries at a configurable resolution (default 15 minutes), useful for tracking named price indices alongside area codes.
Coverage Notes
All date-based endpoints default to today's date in CET. The data window covers approximately the most recent 12 days. Supported currencies include EUR, NOK, SEK, DKK, BGN, and GBP depending on the area.
- Tracking 15-minute interval day-ahead prices across Nordic and European bidding zones (NO1, SE1, DK1, FI, AT, DE-LU)
- Building electricity cost dashboards using block price aggregates (Peak, Off-peak 1, Off-peak 2) from get_day_ahead_prices
- Monitoring intraday OHLC price swings and trade volumes per delivery hour via get_intraday_stats
- Comparing system price turnover across dates using get_system_price blockDataAggregates
- Fetching up to 31 days of day-ahead price history in a single call with get_hourly_prices_by_date_range
- Identifying valid trading areas, capacity areas, and index areas with their active date ranges via get_market_areas
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Nord Pool have an official developer API?+
How far back does historical price data go?+
get_hourly_prices_by_date_range endpoint supports up to a 31-day span but is subject to the same recency constraint.What does get_intraday_stats return and how does it differ from get_day_ahead_prices?+
get_intraday_stats returns hourlyStatistics with OHLC fields — openPrice, closePrice, highPrice, lowPrice — plus volume, buyVolume, and sellVolume per delivery hour for intraday trades. get_day_ahead_prices returns auction-cleared prices at 15-minute resolution across multiple delivery areas, not intraday trade activity.Does the API cover capacity auction results or forward/futures prices?+
Can I retrieve prices for multiple areas in a single get_day_ahead_prices call?+
area parameter accepts a single area code per call. Each multiAreaEntries response does include an entryPerArea map that may contain values for multiple areas depending on the market response, but filtering to a specific area is done via the area input. For multi-area comparison over a date range, you can use get_hourly_prices_by_date_range and inspect entryPerArea within each day's result.