API Guide

The API to the energidataservice.dk platform enables users free of charge to download data for further processing. The platform does not have unlimited resources and do have limitations as described below. It is not meant as the source for all units for vendor applications. In this situation the vendor must download data and then be the source of all possible units for the application.

Request methods

The restful API is a synchronous interface with Http Get - parameters are a part of URI string.

To get data:

or to get metadata:

followed by Parameter Name = Parameter Value, where each pair of parameter name and value are separated by &.

To get a graphical guide to the API, you can access our swagger documentation

Query the API

Energidataservice platform web API can be accessed via web browser using Get method. Following example returns data for Price area = DK1 for May, 2022 for the DeclarationProduction dataset:

Parameters

start

Specifies the start point of the period for the data request. The period is selected based on the column given by Time range column, which is specific the the dataset. Start point is included in the result.

Datetime formats: "yyyy", "yyyy-MM", "yyyy-MM-dd", "yyyy-MM-ddTHH:mm"

The date and times refers to the danish timezone

end

Specifies the end point of the period for the data request. The period is selected based on the column given by Time range column. End point is excluded from the result.

columns

Optional - comma seperated list of columns. If blank all columns are included. Ex "HourUTC,PriceArea,CO2Emis"

filter

Json list of column, value pair. Ex. {"DK36Code" : "QB", "DK19Code" : "Q"} will return data where both conditions are meet. Only equal operator is available.

sort

Comma separated list of columns to sort by Ex. "HourUTC desc, PriceArea". If left blank the dataset is sorted by the unique key. Default sort order is ASC (ascending).

offset

Number of records to skip - ex. offset=30.

limit

Max. number of records to return - ex. limit=30.

Limits on Requests

Maximum of 400 requests are accepted per user per minute. Count of requests is performed based on per IP address. Reaching of 400 query/minute limit through an unique IP address will result in a temporary ban of 5 minutes.

When a user reaches the limit, requests coming from the user will return HTTP Status 429 - TOO MANY REQUESTS with message text Max allowed requests per minute from each unique IP is max up to 400 only.

Examples

To get the last 2 records for the GasSystemRightNow dataset