Free, open API for electricity spot prices in Estonia, Finland, Latvia and Lithuania. No authentication required.
| Parameter | Values | Default | Description |
|---|---|---|---|
country |
ee, fi, lv, lt |
Auto (GeoIP) | Country market area |
All prices are in €/MWh. Timestamps are ISO 8601 / RFC 3339 in the local market timezone (EET/EEST for EE/LV/LT, EET/EEST for FI).
{
"country": "ee",
"updated": "2026-04-01T10:01:00+03:00",
"current": {
"hour": "2026-04-01T10:00:00+03:00",
"price_eur_mwh": 11.79
},
"days": [
{
"date": "2026-04-01",
"label": "today",
"min_eur_mwh": 2.72,
"avg_eur_mwh": 41.32,
"max_eur_mwh": 155.75,
"hours": [
{ "hour": "2026-04-01T10:00:00+03:00", "price_eur_mwh": 11.79 },
{ "hour": "2026-04-01T11:00:00+03:00", "price_eur_mwh": 10.82 },
...
]
},
{
"date": "2026-04-02",
"label": "tomorrow",
...
}
]
}
| label | Meaning |
|---|---|
today | Current hour through end of today |
tomorrow | All hours of tomorrow (available after ~13:00 CET) |
day_after_tomorrow | When published by NordPool |
curl "https://nordpool.novytel.com/api/v1/prices?country=ee" | jq '.current'
# configuration.yaml
sensor:
- platform: rest
name: "EE Electricity Price"
resource: "https://nordpool.novytel.com/api/v1/prices?country=ee"
value_template: "{{ value_json.current.price_eur_mwh }}"
unit_of_measurement: "€/MWh"
device_class: monetary
scan_interval: 3600
json_attributes:
- days
# configuration.yaml
rest:
- resource: "https://nordpool.novytel.com/api/v1/prices?country=ee"
scan_interval: 3600
sensor:
- name: "Current electricity price"
value_template: "{{ value_json.current.price_eur_mwh }}"
unit_of_measurement: "€/MWh"
device_class: monetary
- name: "Today avg electricity price"
value_template: "{{ value_json.days[0].avg_eur_mwh }}"
unit_of_measurement: "€/MWh"
- name: "Today max electricity price"
value_template: "{{ value_json.days[0].max_eur_mwh }}"
unit_of_measurement: "€/MWh"
import requests
data = requests.get(
"https://nordpool.novytel.com/api/v1/prices",
params={"country": "ee"}
).json()
print(f"Now: {data['current']['price_eur_mwh']} €/MWh")
for hour in data['days'][0]['hours']:
print(hour['hour'], hour['price_eur_mwh'])
Use an HTTP request node with method GET and URL https://nordpool.novytel.com/api/v1/prices?country=ee. Set "Return" to a parsed JSON object. Access the price via msg.payload.current.price_eur_mwh.