Reference · built on requestCommons signalEnergy & grid

Energi Data Service

Energinet's open datasets for Denmark: day-ahead prices, five-minute CO2 emission, production and exchange, forecasts, and gas.

About

Energi Data Service is the open data platform of Energinet, the Danish transmission system operator for electricity and gas. Every dataset is reachable at api.energidataservice.dk under one query interface: pick a dataset name, add start, end, filter, columns, sort, offset, and limit, and receive JSON, or request a CSV or Excel download. Dataset metadata carries the update frequency and resolution as ISO 8601 durations.

An operator on Fibric reads DayAheadPrices for DK1 or DK2 after the daily publication and CO2Emis every five minutes, then proposes when to run deferrable load or charge a battery. You approve the schedule; the rows that shaped it are kept with the receipt.

This is a reference listing. It documents what Fibric would read from Energi Data Service and what it could propose, based on the publisher's published interfaces. Fibric builds it under a managed deployment when you request it; selecting it here installs nothing.

Inputs

  • Any dataset's records through GET /dataset/{dataset_name} with start, end, columns, filter, sort, offset, and limit parameters
  • Dataset, group, and organisation metadata through /meta/dataset, including updateFrequency and resolution
  • File exports through /dataset/{dataset_name}/download with format=json, csv, or XL
  • DayAheadPrices: 15-minute day-ahead prices in EUR and DKK for DK1, DK2, and Nord Pool neighbours, from 1 October 2025
  • CO2Emis: CO2 emission in g/kWh for electricity consumed in Denmark, at 5-minute resolution, updated every 5 minutes
  • ElectricityProdex5MinRealtime: production and exchange in MW at 5-minute intervals, plus Forecasts_5Min and Forecasts_Hour for wind and solar
  • Gas series from the tso-gas organisation, including Entry/Exit Gas Flow and Quality and Gas Daily Balancing Price

Proposed actions

Read-only. This feed informs operators; it changes nothing.

Proposed actions are target capabilities. Every action runs propose-first and needs a validated deployment and the appropriate permissions.

What you can build

  • Move production runs to the cheap quarter-hours

    After the day-ahead prices publish, read DayAheadPrices for your price area and propose which deferrable runs move into the lowest-priced periods. You approve; the price curve is attached to the change.

    With Price Shift, Tariff Window

  • Plan tomorrow's battery cycle from DK prices

    Combine the 15-minute day-ahead curve with the site load forecast and battery state of charge, and propose the charge and discharge blocks for sign-off.

    With Battery Dispatch

  • Charge EVs when Danish consumption is cleanest

    Read CO2Emis every five minutes and the hourly declaration series, and propose shifting flexible charging into the lowest g/kWh hours, keeping the estimate for your reporting.

    With Carbon Window, Depot Charging

Requirements

  • The dataset name for each series, for example DayAheadPrices or CO2Emis, and the PriceArea filter for DK1 or DK2
  • Awareness that date and time parameters refer to local Danish time
  • A call rate of about one request per update frequency, using a dynamic start such as now-P1D as the guides suggest
  • Attribution reading "Source: Energinet (www.energidataservice.dk)" under CC BY 4.0
Authentication
None. The API guides describe open GET calls with no key or registration; the terms note that caller IP addresses are kept for three months for statistics.

Limits

  • Over a dataset's limit the API returns HTTP 429, "Rate limit is exceeded. Try again in X seconds"; misuse can lead to IP blocking
  • Without start or limit a query returns 100 records by default
  • The 5-minute realtime series is upscaled from SCADA measurements; Energinet says errors occur and are generally not corrected
  • Elspotprices is discontinued; day-ahead prices before 1 October 2025 are hourly there, and 15-minute in DayAheadPrices after

Access and pricing

Reference listing. Public feed access is separate from Fibric integration. If you request this feed, your quote covers the build, usage, and support.

Request Energi Data Service ↗

Questions and answers

Is a key needed to call the Energi Data Service API?
No. The API guides show plain GET requests to api.energidataservice.dk with no registration. Each dataset has its own rate limit; exceeding it returns HTTP 429 with a retry time, and Energinet monitors usage and may block an IP address for misuse.
How often should you poll a dataset?
Energinet's rule of thumb is one request per update frequency, with a dynamic start of now minus three times that frequency. The frequency is published in each dataset's metadata as an ISO 8601 duration, for example P1D for DayAheadPrices and PT5M for CO2Emis.
Which price areas and neighbours are covered?
DayAheadPrices holds Denmark's DK1 and DK2 bidding zones and neighbouring Nord Pool areas including Norway, Sweden, Finland, and Germany. The DKK price is derived from the EUR price using the Danmarks Nationalbank exchange rate, so it may differ from Danish prices shown elsewhere.
Ask about Energi Data Service

Ask about the capabilities and requirements in this listing.

For project-specific requirements, contact Fibric.