CZ DAM Price Forecast API
Public API for Czech Day-Ahead Market electricity price forecasts — four model families (v1, v4, v5 and v6)
v1.4Public
Choose a model
Four forecast families, each with a 15-min and an hourly endpoint
/api/v1Ensemble (v11)
- Calibrated point forecast
- P10/P90 uncertainty band
- Price bands + regime probability
- Recommended for production use
/api/v4EPEX-CZ Enhanced
- Raw point forecast (uncalibrated)
- No uncertainty band
- 57 features, rolling 120-day retrain
- Best for honest head-to-head accuracy
/api/v5Ensemble (v1 x v4)
- Walk-forward blend of v1 + v4
- Accuracy-weighted (inverse-MAE)
- Exposes both legs + blend weight
- Strong all-round baseline
/api/v6Four-Leg Ensemble
- Blends v1 + v4 + CatBoost + LEAR
- Walk-forward inverse-MAE weights
- Exposes all four legs + weights
- Lowest MAE in backtest
Quick Start
All endpoints share the same query parameters (date, format)
v1 · 15-minute (96 points)
GET /api/v1/forecastv1 · Hourly (24 points)
GET /api/v1/forecast/hourlyv4 · 15-minute (96 points)
GET /api/v4/forecastv4 · Hourly (24 points)
GET /api/v4/forecast/hourlyv5 · 15-minute (96 points)
GET /api/v5/forecastv5 · Hourly (24 points)
GET /api/v5/forecast/hourlyv6 · 15-minute (96 points)
GET /api/v6/forecastv6 · Hourly (24 points)
GET /api/v6/forecast/hourlyUpdated daily at 10:00 CET
No authentication required
JSON or CSV format
v1: P10/P90 · v4: raw · v5/v6: blend
Code Examples
Integration examples in popular languages
# --- v1 (calibrated ensemble, P10/P90 band) ---
# 15-minute forecast (96 points)
curl "/api/v1/forecast?date=2026-06-03"
# Hourly forecast (24 points)
curl "/api/v1/forecast/hourly?date=2026-06-03"
# --- v4 (raw EPEX-CZ Enhanced point forecast) ---
# 15-minute forecast (96 points)
curl "/api/v4/forecast?date=2026-06-03"
# Hourly forecast (24 points)
curl "/api/v4/forecast/hourly?date=2026-06-03"
# --- v5 (walk-forward blend of v1 + v4) ---
# 15-minute forecast (96 points)
curl "/api/v5/forecast?date=2026-06-03"
# Hourly forecast (24 points)
curl "/api/v5/forecast/hourly?date=2026-06-03"
# --- v6 (four-leg blend: v1 x v4 x CatBoost x LEAR) ---
# 15-minute forecast (96 points)
curl "/api/v6/forecast?date=2026-06-03"
# Hourly forecast (24 points)
curl "/api/v6/forecast/hourly?date=2026-06-03"API Reference
Interactive API documentation with try-it-out functionality
Response Schema
Structure of the JSON response. Fields marked v1 only are omitted by the v4/v5 point models; fields marked v5 only appear only on the ensemble.
| Field | Type | Description |
|---|---|---|
| meta | object | Metadata (model, date, status, resolution, calibration) |
| meta.resolution | string | PT15M (15-min) or PT60M (hourly) |
| meta.calibration | object | Whether bias calibration was applied (active, applied, method, train_days) |
| summary | object | Statistical summary (min, max, mean, MAE, RMSE, price bands) |
| quarter_hourly_forecasts | array | 96 quarter-hour objects (only on GET /forecast) |
| hourly_forecasts | array | 24 hourly objects (only on GET /forecast/hourly) |
| hour | integer | Hour of day (0-23) in CET/CEST |
| quarter | integer|null | Quarter within the hour (0-3). 15-min responses only |
| forecast_price_eur | number | Forecasted (calibrated) price in EUR/MWh |
| forecast_p10_eur v1 only | number|null | Lower bound of the 80% interval (10th percentile) |
| forecast_p90_eur v1 only | number|null | Upper bound of the 80% interval (90th percentile) |
| actual_price_eur | number|null | Actual price (null if not yet available) |
| price_band v1 only | string | Price classification: negative, low, normal, high |
| regime_probability v1 only | number|null | Model confidence for the predicted regime |
| meta.blend v5 only | object | Walk-forward blend weights: weight_v1 and weight_v4 (sum to 1) |
| forecast_v1_eur v5 only | number|null | The v1 component value going into the blend |
| forecast_v4_eur v5 only | number|null | The v4 component value going into the blend |
| weight_v1 v5 only | number|null | Per-point blend weight on the v1 leg (constant per day) |
Rate Limits
- Public:100 requests per minute
- Caching:Responses cached for 5 minutes
- Recommendation:Cache locally, poll max once per hour
Forecast Schedule
- v1 generation:Daily at 10:00 CET for D+1
- v4 generation:After the D-1 12:00 CET gate (~13:00 CET)
- v5 availability:Computed once both v1 and v4 exist (~13:00 CET)
- Actuals:Updated after ~12:42 CET (DAM results)
- History:Past forecasts available for 30 days