Estonia aFRR clearing prices

Automatically-activated Frequency Restoration Reserve (aFRR) energy clearing prices for the Estonian bidding zone. One value per 15-minute Market Time Unit, per direction (up or down). Sourced from Elering, refreshed hourly.

Endpoints

Row schema

ColumnTypeUnitNullableDescription
mtu_start string (date-time) no Market Time Unit start (ISO 8601 UTC). Each MTU is a 15-minute settlement interval.
direction string enum: up | down no Activation direction: up = TSO buys energy from BSP, down = TSO sells back.
price_eur_mwh number EUR/MWh yes PICASSO marginal clearing price for activated aFRR energy in this direction. Null when no activation cleared.

Top-level response: { schema_version, generated_at, meta, rows: [...] }

Code samples

curl
curl https://public-data.volton.energy/v1/afrr-clearing-price/latest.json
DuckDB
SELECT * FROM read_json_auto(
  'https://public-data.volton.energy/v1/afrr-clearing-price/latest.json',
  records = false
);
Python (pandas)
import pandas as pd

resp = pd.read_json('https://public-data.volton.energy/v1/afrr-clearing-price/latest.json')
df = pd.DataFrame(resp['rows'])
R (jsonlite)
library(jsonlite)
data <- fromJSON('https://public-data.volton.energy/v1/afrr-clearing-price/latest.json')
df <- data$rows
JavaScript (fetch)
const r = await fetch('https://public-data.volton.energy/v1/afrr-clearing-price/latest.json');
const { rows, meta } = await r.json();
Excel Power Query (M)
let
    Source = Json.Document(Web.Contents("https://public-data.volton.energy/v1/afrr-clearing-price/latest.json")),
    Rows = Source[rows],
    AsTable = Table.FromRecords(Rows)
in
    AsTable

Methodology

aFRR responds automatically to system frequency deviations within ~5 minutes — the middle reserve product between fast FCR (seconds) and slow mFRR (15 min). Activations clear at the marginal aFRR bid in the merit order, per 15-minute MTU and per direction.

Estonia joined the EU PICASSO platform on 9 April 2025; aFRR capacity procurement on the BBCM started six days later. Since then, Baltic aFRR clearing prices are derived from the cross-border PICASSO auction.

Prices may be null for an MTU when no activation occurred in that direction.

FAQ

How does aFRR differ from mFRR?
aFRR activates automatically within minutes via a continuous control signal (PICASSO). mFRR is manually-activated and slower — used to free up aFRR after a longer system imbalance. Both clear at 15-min MTU. aFRR typically settles in narrower price ranges than mFRR because activations are more frequent and smaller.
Why might values be missing?
Estonia joined PICASSO in April 2025; gaps before that mean the Baltic-only legacy market was active and the cross-border data is not in the same series. Within the live PICASSO era, missing MTUs reflect periods with no activation in that direction.

License + citation

Source: Elering / Baltic Transparency Dashboard via Volton, CC-BY-4.0. CC-BY-4.0.

Volton Technology OÜ (2026). Estonia aFRR clearing prices.
CC-BY-4.0. https://public-data.volton.energy/afrr-clearing-price/

Related