BYTETOOLS

Elering Nord Pool Prices API

Free Elering API with no key: Nord Pool day-ahead electricity prices for Estonia, Finland, Latvia and Lithuania in EUR/MWh at 15-minute resolution. Tested example.

No API key requiredHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-21

What is the Elering Nord Pool Prices API?

Elering, Estonia's transmission system operator, republishes Nord Pool day-ahead electricity prices as a free JSON API with no key. One request returns the price series for Estonia, Finland, Latvia and Lithuania over a date range.

Nord Pool sells access to its own data. Elering, as a transmission system operator, publishes the price series for the Baltic bidding zones openly, which makes this the practical free route to Nordic and Baltic power prices. All four zones come back in one response keyed by country code, so a cross-border comparison costs one request rather than four.

The series has moved to **15-minute** resolution, so timestamps advance in 900-second steps rather than hourly — code that assumes 24 points per day will silently drop three quarters of the data. Timestamps here are Unix **seconds**, not the milliseconds several neighbouring energy APIs use. And because these zones sit in EET/EEST, a local delivery day starts at 21:00 or 22:00 UTC the previous evening depending on daylight saving, which is why a correct query window looks offset.

Quick facts

Base URL
https://dashboard.elering.ee/api
Authentication
No key or registration required.
Rate limit
No published limit. Prices publish once a day after the auction clears.
Pricing
Free.
CORS
Not enabled — call it from your server
Official docs
Read the docs

How to use the Elering Nord Pool Prices API

Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.

1. Baltic day-ahead electricity prices for one delivery day

GET https://dashboard.elering.ee/api/nps/price?start=2026-08-18T21:00:00.000Z&end=2026-08-19T20:59:59.999Z

curl
curl 'https://dashboard.elering.ee/api/nps/price?start=2026-08-18T21:00:00.000Z&end=2026-08-19T20:59:59.999Z'
JavaScript (fetch)
const res = await fetch("https://dashboard.elering.ee/api/nps/price?start=2026-08-18T21:00:00.000Z&end=2026-08-19T20:59:59.999Z");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://dashboard.elering.ee/api/nps/price?start=2026-08-18T21:00:00.000Z&end=2026-08-19T20:59:59.999Z", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "success": true,
  "data": {
    "ee": [
      {
        "timestamp": 1787086800,
        "price": 138.27
      },
      {
        "timestamp": 1787087700,
        "price": 101.85
      },
      {
        "timestamp": 1787088600,
        "price": 80.6
      },
      {
        "timestamp": 1787089500,
        "price": 88.0
      },
      {
        "timestamp": 1787090400,
        "price": 185.1
      },
      {
        "timestamp": 1787091300,
        "price": 179.12
      },
      {
        "timestamp": 1787092200,
        "price": 175.68
      },
      {
        "timestamp": 1787093100,
        "price": 161.99
      },
      {
        "timestamp": 1787094000,
        "price": 163.83
      },
      {
        "timestamp": 1787094900,
        "price": 158.98
      },
      {
        "timestamp": 1787095800,
        "price": 156.13
      },
      {
        "timestamp": 1787096700,
        "price": 153.0
      },
      {
        "timestamp": 1787097600,
        "price": 156.88
      },
      {
        "timestamp": 1787098500,
        "price": 152.27
      },
      {
        "timestamp": 1787099400,
        "price": 150.39
      },
      {
        "timestamp": 1787100300,
        "price": 146.49
      },
      {
        "timestamp": 1787101200,
        "price": 134.6
      },
      {
        "timestamp": 1787102100,
        "price": 70.01
      },
      {
        "timestamp": 1787103000,
        "price": 82.11
      },
      {
        "timestamp": 1787103900,
        "price": 76.46
      },
      {
        "timestamp": 1787104800,
        "price": 148.07
      },
      {

Parameters

ParameterTypeRequiredDescription
startqueryRequiredWindow start as an ISO 8601 UTC timestamp. A local delivery day begins the previous evening in UTC. 2026-08-18T21:00:00.000Z
endqueryRequiredWindow end as an ISO 8601 UTC timestamp. 2026-08-19T20:59:59.999Z
/nps/price/{country}/currentpathOptionalCurrent price for a single country instead of a range. ee/current

Response fields

successboolean
Request-level success flag, separate from the HTTP status.
data.ee / fi / lv / ltarray
One series per bidding zone — Estonia, Finland, Latvia and Lithuania.
data.*[].timestampinteger
Period start as Unix **seconds**, advancing in 900-second steps.
data.*[].pricenumber
Day-ahead price in EUR per MWh for that period. Can be negative.

What you can build with the Elering Nord Pool Prices API

  • Compare electricity prices across the Baltic and Finnish bidding zones
  • Drive home automation from the cheapest 15-minute periods
  • Chart a delivery day's price curve for a Baltic country
  • Estimate the wholesale component of a Baltic energy bill

Common errors and how to fix them

Only a quarter of the expected points used

The series is 15-minute, not hourly.

Fix: Timestamps advance in 900-second steps. Do not assume 24 periods per day.

Times off by an hour

The UTC window was treated as local time.

Fix: Baltic zones are UTC+2 in winter and UTC+3 in summer, so a local day starts at 21:00 or 22:00 UTC the previous evening.

`success: false` with HTTP 200

The range was invalid or too large.

Fix: Check the `success` flag, and request one delivery day at a time.

Elering Nord Pool Prices API — frequently asked questions

Is Elering's electricity price API free?

Yes. Elering publishes Nord Pool day-ahead prices for the Baltic zones with no key or registration, which is the usual free route to this data.

Which countries does it cover?

Estonia, Finland, Latvia and Lithuania, returned together in one response keyed by two-letter country code. That means a cross-border price comparison costs a single request rather than four separate ones.

What resolution are the prices?

15-minute periods, so timestamps step by 900 seconds. Code written against the older hourly series will silently miss most of the data.

Are timestamps in seconds or milliseconds?

Seconds. This differs from several neighbouring energy APIs that use milliseconds, so check before reusing a parsing helper.

Tools that pair with this API

Elering Nord Pool Prices is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.