Om Elpris

Aktuelle elpriser (spotpriser) for Danmark hentet fra Energi Data Service.

DK1 = Vestdanmark   DK2 = Østdanmark

Pristyper:
Elspot inkl moms = Spotpris + 25% moms
Inkl alt = Spot + moms + nettarif + system + transmission + elafgift
Inkl tarif = Som ovenfor, uden elafgift

GPS-funktionen finder dit netselskab via OpenStreetMap og Green Power Denmark.

Data fra energidataservice.dk

Gratis JSON API — ingen nøgle, fuld CORS, OpenAPI 3.1

elpriser.org API

Alle data på elpriser.org er tilgængelige via et public JSON API. Kalder du fra en browser, Shelly, Home Assistant, en LLM-agent eller et eget script, så slipper du for et abonnement — bare hit en URL.

Hovedpunkter

  • Ingen nøgle, ingen rate limit — Cloudflare-edge cacher 1-5 min, så hyppige kald er gratis.
  • Fuld CORS (Access-Control-Allow-Origin: *) — kald direkte fra en webapp uden proxy.
  • Send en User-Agent — Cloudflares botbeskyttelse svarer 403 på Pythons standard-urllib (Python-urllib/3.x). Alt andet virker: curl, requests eller dit eget, fx my-app/1.0. I Python: Request(url, headers={"User-Agent": "my-app/1.0"}).
  • OpenAPI 3.1 spec på /api/openapi.json — importér i Postman, Bruno eller en ChatGPT/MCP-klient.
  • Tibber-kompatibel JSON for HA / Shelly via /api/shelly/tariff.
  • Discovery: hver /api/*-response sender et Link: </api/openapi.json>; rel="describedby" header.

Endpoints

GET /api/now?area=DK1&mode=inkl_alt

Aktuel pris (DKK/kWh) for nuværende time + om en schedule-strategi siger ON eller OFF.

GET /api/prices?area=DK1&mode=inkl_alt[&date=YYYY-MM-DD]

24 timepriser for én dato (default i dag, dansk lokaltid). Historik tilbage til 2000.

GET /api/prices?area=DK1&start=YYYY-MM-DD&end=YYYY-MM-DD

Hele perioden i ét svar, op til 1150 døgn — tre år koster ét kald i stedet for tusind.

GET /api/schedule?area=DK1&strategy=cheapest_n&hours=6

Hele døgnets ON/OFF-plan for den valgte strategi (se Smart hjem-siden).

GET /api/forecast?area=DK1&mode=inkl_alt[&gln=…]

Prognose time for time for i dag og de næste 9 døgn — faktiske day-ahead-priser, hvor de er offentliggjort (type: actual), og ellers en maskinlæringsmodel med vejrprognoser (source: model).

Med mode=net_inkl_alt og gln lægges netselskabets nettarif til, som den er gældende på hver dags egen dato — så en prognose hen over et tarifskifte (1. oktober / 1. april) skifter ved midnat. Så er prognosen lig /api/prices på en offentliggjort dag.

Hvor meget kan du stole på den? Gennemsnitlig absolut fejl på spotprisen (DKK/MWh, ekskl. moms) i en tilbagetest over 486 dage (1. april 2025 – 30. juli 2026), pr. prognosedag D+h regnet fra den dag, kørslen laves (D+1 er allerede offentliggjort om eftermiddagen). Til sammenligning rammer et 4-ugers ugedagsgennemsnit ca. 35–38 % ved siden af.

DagDK1DK2
D+2149 (23,3 %)165 (25,2 %)
D+3155 (24,2 %)169 (25,9 %)
D+4166 (25,9 %)180 (27,5 %)
D+5179 (27,9 %)192 (29,4 %)
D+6190 (29,7 %)203 (31,0 %)
D+7195 (30,4 %)207 (31,8 %)
D+8195 (30,4 %)207 (31,7 %)
D+9197 (30,7 %)211 (32,2 %)

Arkiv: GET /api/forecast/archive?area=DK1 lister de kørsler, der er gemt; med &issued=2026-10-06 får du den kørsel, som den lød dengang (rå spotpris i DKK/MWh ekskl. moms). Så kan du selv måle fejlen pr. horisont på de prognoser, der faktisk blev leveret. Arkivet starter 6. oktober 2026.

min og max er modellens P10 og P90, udvidet til at dække 80 % af udfaldene i tilbagetest — ca. hver femte time falder uden for. På source: heuristic-dage er det i stedet laveste og højeste pris for samme ugedag og time de seneste fire uger. model i svaret angiver kørslen (generatedAt) bag prognosedagene.

GET /api/shelly/tariff?area=DK1&mode=inkl_alt

Tibber-kompatibel JSON med i dag + i morgen — drop-in til alle Tibber-aware integrationer.

GET /api/supplierlookup?lat=…&lng=…

Reverse-geocode af koordinater til adresse + netselskab (CORS-fri proxy over OpenStreetMap Nominatim + GPD).

GET /api/raw/{prices,encharges,tariff,tariffs}

Rå EDS-data (DayAheadPrices, DatahubPricelist) som CORS-proxy. Mest for udviklere der vil egne beregninger.

GET /api/openapi.json

Maskin-læsbar OpenAPI 3.1-spec for alle endpoints — denne side i JSON-form.

Priser, afgifter og tariffer

mode bestemmer, hvad der er lagt oven i spotprisen. Et ukendt mode afvises med 400 — det bliver ikke tavst til spot inkl. moms.

  • spot_ex / spot_inkl — ren spotpris, uden og med moms.
  • inkl_alt — spot + systemtarif + transmissionstarif + elafgift, inkl. moms.
  • inkl_alt_minus — som ovenfor, men uden elafgift.
  • net_inkl_tarif / net_inkl_alt — med nettarif; net_inkl_alt er den fulde forbrugerpris. Kræver gln.
  • inkl_alt_elvarme / net_inkl_alt_elvarme — bruger den reducerede elafgift for forbrug over 4.000 kWh/år i elopvarmede boliger. Forskellen er stor: 0,8 mod 72,0 øre/kWh i 2025.

Nettariffen hentes for den dato, der spørges om — med tidsbånd og sommer-/vinterforskel. Netselskabet vælges med gln; bemærk at fx N1 optræder som tre selvstændige netområder med hver sin GLN og hver sine satser. Svaret oplyser grid_tariff: hourly, flat for selskaber der kun udgiver én døgnsats, eller null hvis selskabet ikke har udgivet nogen — og så er dagens priser null frem for at mangle tariffen i tavshed.

charges afgør, hvilke satser en historisk dato prissættes med. historical (default) bruger de satser, der faktisk gjaldt på datoen. current omregner samme prisforløb til nutidens satser — nyttigt til at sammenligne år, men det er ikke, hvad timen kostede.

Eksempel — curl

curl -sS "https://elpriser.org/api/now?area=DK1&mode=inkl_alt"

Returnerer:

{
  "on": true,
  "price": 1.23,
  "hour": 14,
  "area": "DK1",
  "mode": "inkl_alt",
  "strategy": "cheapest_n"
}

Brug i LLM / AI-agent

Spørg en LLM "hvad er elprisen lige nu i Danmark?" og giv den denne URL:

https://elpriser.org/api/now?area=DK1&mode=inkl_alt

For Claude Desktop, ChatGPT plugins, og MCP-klienter kan du pege på OpenAPI-spec'en på /api/openapi.json — den indeholder alle endpoints og parametre.

🔌 MCP-server (open source)

Vil du give Claude Desktop direkte adgang til danske elpriser? Brug elpriser-mcp — en gratis Model Context Protocol-server. Tilføj til din claude_desktop_config.json:

{
  "mcpServers": {
    "elpriser": { "command": "npx", "args": ["-y", "elpriser-mcp"] }
  }
}

Så kan du spørge "hvornår er strøm billigst i morgen?" og få live-svar. Kode + dokumentation på GitHub.

📦 JavaScript-klient (open source)

Bygger du en app eller et dashboard? elpriser-client er en lille, typet, zero-dependency JS/TS-klient (browser + Node):

import { createElpriserClient } from 'elpriser-client';
const elpriser = createElpriserClient();
const nu = await elpriser.now({ area: 'DK1' });

🤗 Historiske datasæt (Hugging Face)

Skal du træne en model eller lave analyse? Vi har samlet historiske elpriser og produktionsdata for Danmark og nabolandene (Norge, Sverige, Finland, Holland, Tyskland) som Parquet-filer på Hugging Face — frit tilgængeligt under CC BY 4.0.

🤗 Prognosemodel (Hugging Face)

De LightGBM-modeller der driver prognosen for DK1/DK2 — gentrænet og genudgivet dagligt — ligger åbent på Hugging Face med fuld model-kort, features og efterbehandlingsformler.

Vilkår

  • Gratis for ethvert brug (kommercielt eller ej)
  • Datakilde: Energi Data Service (Energinet) — egen licens
  • Best-effort uptime — ingen SLA. Edge-cacher graceful, så kortvarige udfald hos EDS påvirker ikke API'et
  • Spørgsmål / fejl: brug GitHub-issues (link i footeren) eller skriv direkte

Netselskab og indstillinger

Vestdanmark · DK1

Østdanmark · DK2

Andre prisområder

Privatliv · Om elpriser · Udseendet følger din enheds lyse eller mørke indstilling.

Hent appen

Elprisen lige nu, i morgen og de næste 10 døgn — med dit netselskab — direkte på telefonen.