Denmark diesel list prices (OK Danmark)
Two daily series carry OK Danmark's published diesel list prices in DKK per litre, duties and 25% VAT included, before customer discounts. They are the reference many Danish hauliers reset fuel surcharges against, and they run back to August 2002 with one value per calendar day.
| Code | OK product | What it is |
|---|---|---|
DIESEL_LIST_OK_DK_DKK | 231 Diesel | List price at OK's ordinary stations (cars, vans, small fleets on an OK card) |
DIESEL_TRUCK_LIST_OK_DK_DKK | 2725 Truckdiesel | List price at OK's truck stations. Matches the Danish majors' daily diesel list price to the øre |
Source: OK a.m.b.a. (ok.dk). OK is a supplier publishing its own list prices; this is not a survey, an assessment, or a wholesale benchmark. The weekly EU Oil Bulletin national average for Denmark is a different series (DIESEL_RETAIL_DK_EUR, EUR per litre, Monday reference date).
Fields
Each row is one calendar day. price is the list price including duties and VAT. as_of is the day the price applies to, effective from 00:00 Copenhagen time. The three other tax bases OK publishes are in metadata:
metadata key | Meaning |
|---|---|
ex_vat_dkk_per_litre | duties included, VAT excluded |
ex_duty_ex_vat_dkk_per_litre | no duties, no VAT (net product price) |
ex_duty_inc_vat_dkk_per_litre | no duties, VAT included |
ok_varenr | OK's product number (231 or 2725) |
price_basis | list_price_incl_duties_and_vat |
Get the latest values
curl "https://api.oilpriceapi.com/v1/prices/latest?by_code=DIESEL_LIST_OK_DK_DKK,DIESEL_TRUCK_LIST_OK_DK_DKK" \
-H "Authorization: Token YOUR_API_KEY"
Response shape (values illustrative, from the 15 September 2026 list):
{
"status": "success",
"data": {
"prices": [
{
"code": "DIESEL_LIST_OK_DK_DKK",
"price": 20.29,
"currency": "DKK",
"as_of": "2026-09-15T00:00:00.000Z",
"metadata": {
"ok_varenr": 231,
"price_basis": "list_price_incl_duties_and_vat",
"ex_vat_dkk_per_litre": 16.232,
"ex_duty_ex_vat_dkk_per_litre": 11.971,
"ex_duty_inc_vat_dkk_per_litre": 14.96375
}
},
{
"code": "DIESEL_TRUCK_LIST_OK_DK_DKK",
"price": 20.39,
"currency": "DKK",
"as_of": "2026-09-15T00:00:00.000Z",
"metadata": { "ok_varenr": 2725, "ex_vat_dkk_per_litre": 16.312 }
}
]
}
}
History
curl "https://api.oilpriceapi.com/v1/prices/historical?by_code=DIESEL_TRUCK_LIST_OK_DK_DKK&start_date=2026-08-01&end_date=2026-09-15" \
-H "Authorization: Token YOUR_API_KEY"
History runs from 2002-08-23. Rows are dense from 2011 (one per calendar day, including weekends and holidays, because the list price applies every day); earlier years are sparser. Historical endpoints follow the normal plan rules for history access.
The default history response is daily buckets and carries the price only. Add interval=raw (windows up to 30 days) to get the stored rows with the metadata tax bases on each one.
How the two series relate
Measured over the full history:
- Truckdiesel is the Danish market list. On every date checked it equals the station diesel list at Circle K and Q8, and the ITD trucking association's published spreadsheet carries the same series. If your contract references "the list price" without naming a supplier, this is the series to use.
- OK Diesel sits a fixed margin under it. The margin has been 0.10 DKK (incl. VAT) since February 2017, 0.21 DKK from 2005 to 2016, and about 0.30 DKK before that. It is OK's own station discount against the majors' list, not a truck surcharge and not a tax difference.
- The two are dated one day apart. OK's Diesel series carries the day a change is announced; the Truckdiesel series carries the day it takes effect.
DIESEL_TRUCK_LIST_OK_DK_DKKon day t+1 equalsDIESEL_LIST_OK_DK_DKKon day t plus 0.10 on every day of 2026 so far.
Both series are stored exactly as OK publishes them. Nothing is derived from the other, so if OK changes its margin or its dating, the data shows it.
Update timing
OK publishes each day's list price the afternoon before. OilPriceAPI collects once daily after midnight Copenhagen time (01:23 UTC), so a day's value is available from the early morning of that day. A missed collection is healed on the next run; the last seven days are re-checked every time. See the publication schedules page for the live cadence entry.
Related
- EU country retail diesel prices — weekly national averages from the EU Oil Bulletin, including
DIESEL_RETAIL_DK_EUR - List Commodities API