Estonia aFRR capacity prices

BBCM-cleared aFRR capacity availability prices for the Estonian bidding zone — what BSPs are paid for *being available*, separate from energy activation prices. One value per 15-minute MTU, per direction. Sourced from the Baltic Transparency Dashboard; aFRR capacity procurement on BBCM started 15 April 2025.

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 Reserve direction the capacity is procured for.
price_eur_mw_h number EUR/MW/h yes BBCM-cleared aFRR capacity availability price (paid per MW of qualified capacity per hour). Null when no capacity procured in this direction.

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

Code samples

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

resp = pd.read_json('https://public-data.volton.energy/v1/afrr-capacity-price/latest.json')
df = pd.DataFrame(resp['rows'])
R (jsonlite)
library(jsonlite)
data <- fromJSON('https://public-data.volton.energy/v1/afrr-capacity-price/latest.json')
df <- data$rows
JavaScript (fetch)
const r = await fetch('https://public-data.volton.energy/v1/afrr-capacity-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-capacity-price/latest.json")),
    Rows = Source[rows],
    AsTable = Table.FromRecords(Rows)
in
    AsTable

Methodology

Capacity prices are paid hourly to every BSP that committed reserve capacity to the TSO ahead of time, regardless of whether activation happens. aFRR capacity clears daily on the Baltic Balancing Capacity Market (BBCM), live for aFRR since 15 April 2025 — the day after Estonia joined PICASSO.

aFRR capacity prices are typically lower per MW/h than mFRR because the technical bar is lower (continuous control signal, smaller activations). Total revenue depends on the size of the qualified capacity and how many hours the BSP cleared.

Prices may be null for an MTU when no capacity was procured in that direction.

FAQ

aFRR capacity vs mFRR capacity — which earns more?
Both are paid per MW/h. mFRR capacity prices are usually higher per unit (higher technical bar, larger activations). But aFRR capacity has more hours qualified — fewer scarcity drops to zero. Total revenue depends on your asset profile.
Why is the data only since April 2025?
Estonia joined PICASSO on 9 April 2025; aFRR capacity procurement on BBCM started 15 April 2025. Before that, aFRR capacity wasn't cleared cross-border, so there is no comparable price series.

License + citation

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

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

Related