Base-URL
https://prognose.fuldskrue.dk
Alle priser er i DKK/MWh, ekskl. moms/afgifter/tariffer — ren day-ahead spotpris fra Energi Data Service/ENTSO-E.
Autentificering
/v1/*-endpoints kræver en nøgle i headeren X-API-Key.
/site/* kræver ingen nøgle (bruges af forsiden selv).
En nøgle udstedes af sidens ejer — kontakt dennis@fuldskrue.dk med et navn på hvad nøglen skal bruges til (fx "Home Assistant" eller "VRM").
curl -H "X-API-Key: DIN-NØGLE" \
"https://prognose.fuldskrue.dk/v1/forecast?zone=DK1"
Rate-limit
Max 20 kald i timen pr. nøgle (kun /v1/* — /site/* er ikke begrænset). Ved overskridelse svares 429 med en Retry-After-header. Response-headers viser altid hvor meget der er tilbage:
X-RateLimit-Limit: 20
X-RateLimit-Remaining: 14
Endpoints
GET/v1/health Ingen nøgle
Uptime-tjek.
{"status": "ok"}
GET/v1/prices Kræver nøgle
Kendte/realiserede priser — i dag, og i morgen fra det tidspunkt auktionen har offentliggjort den (typisk sidst på eftermiddagen).
| Parameter | Værdi |
|---|---|
zone | DK1 eller DK2 (default DK1) |
{
"zone": "DK1",
"prices": [
{"time_utc": "2026-08-28 22:00:00+00:00", "price_dkk_per_mwh": 806.58},
...
]
}
GET/v1/forecast Kræver nøgle
Dag+1 til dag+7 prognose med 80%-usikkerhedsbånd (10./90. percentil). Dag+0 (i dag) findes ikke her — hele dagens pris er allerede kendt, se /v1/prices i stedet.
| Parameter | Værdi |
|---|---|
zone | DK1 eller DK2 (default DK1) |
{
"zone": "DK1",
"model_trained_at": "2026-08-23T11:38:32.031302+00:00",
"prices": [
{
"target_hour": "2026-08-28 22:00:00+00:00",
"horizon_days": 1,
"predicted_price_dkk_per_mwh": 1202.85,
"predicted_price_low_dkk_per_mwh": 838.40,
"predicted_price_high_dkk_per_mwh": 1286.92
},
...
]
}
GET/site/today, /site/forecast, /site/backtest Ingen nøgle
Samme data som forsiden selv bruger — offentligt tilgængelige uden nøgle, men uden rate-limit-håndhævelse eller nøgle-statistik. zone-parameter som ovenfor.
Fejl
| Status | Betyder |
|---|---|
400 | Ukendt zone (skal være DK1 eller DK2) |
401 | Manglende, ugyldig eller tilbagekaldt X-API-Key |
429 | Rate-limit overskredet — prøv igen efter Retry-After sekunder |
503 | Data ikke modtaget endnu fra prognose-serveren (midlertidigt, prøv igen om lidt) |