Driftsstatus: Nye admin adangskoder til Bogportalen. Læs mere her

Delivery of metadata from DBK

This API is intended for retrieving product metadata in bulk.

In this version, the API is not designed for high volumes of requests for individual products, for example through direct calls when product pages are displayed on a webshop. Misuse of the API may result in account suspension.

1) Overview

Purpose: Access product metadata from Bogportalen for integration with your systems.

Production endpoints:

Authentification: TBA

Data export request: TBA

 

Sandbox endpoints
Authentification: 

Data export request:

Formats: xml in onix format; charset=utf-8 (requests & responses). See Onix data format here

2) Authentication & Authorization

  1. Create session token using username and password in authentication endpoint.
  2. Add session token to onix export request, and request data from export endpoint. 

3) Versioning & Lifecycle

Onix version: Onix 3.1

API URI versioning: /v3.1/…

Deprecation policy: 6 months minimum notice before removing fields/endpoints.

Change types:

  • Non-breaking: new fields (nullable), new endpoints.
  • Breaking: contract changes; only in new major version.

4) Environments & Data

Sandbox: Synthetic data; standalone auth, same functionality as production.

Production: Live data; standalone auth, same functionality as sandbox.

5) Pagination, Filtering, Sorting, Field Selection

Pagination: n/a.=>Use filters

Filtering: Query params

  • productIds 13 digit EAN numbers (eg.: 9788702152098)
  • publisher: DBK customer number (eg.: 170864). Please notice that publishers and expeditions can only see their own data!
  • updatedFrom: ISO 8601-date/timestring (eg.: 20250204T0930-0400). Used to get data updated after a certain date 
  • updatedTo: ISO 8601-date/timestring (eg.: 20250204T0930-0400). Used to get data updated before a certain date 

Sorting: n/a. Results will be sorted by TBA

6) Rate Limits & Quotas

Policy: e.g., 600 requests/minute per client in prod; 120/min in sandbox.

Headers:

  • X-RateLimit-Limit
  • X-RateLimit-Remaining
  • X-RateLimit-Reset

429 handling: Backoff with jitter; retry after X-RateLimit-Reset.

7) Status codes and errors

Status codes:

  • 200: OK
  • 204: Request OK, but no content. Could be due to filters that provides no results
  • 401: Unauthorized. Publisher Id in request does not match current logged in publisher
  • 5xx server error

The list of error codes will be further extended when the sandbox version of the API is ready. 

Example on error body:

{
"type":"https://tools.ietf.org/html/rfc9110#section-15.5.2",
"title":"Publisher Id in request does not match current logged in publisher",
"status":401,
"detail":"To request an onix output please request the same Publisher ID as the currently logged in publisher",
"traceId":"00-5d607d7dc612f1adfc7cae47189f8035-b3feb12c115e9d8e-00"
}

8) Caching & Performance

Compression: gzip & br supported via Accept-Encoding.

9) Security

Transport: HTTPS only (TLS 1.2+).

Auditing: We log auth, rate-limit, and error events with correlation IDs.

10) SLs & Status

Uptime target: 99.9% monthly.

Maintenance windows: Announced 7 days ahead (non-critical).

Status page: Public status + historical incidents. · Support: FAQ/Support page on dbk.dk. Email + ticketing portal, business hours CET/CEST.

Version history

Date Version Comment
19-12-2025
3.1
First version of the API in sandbox mode. Please notice that there might be minor changes to this before it goes into production

Spørgsmål til denne side?

Indsend dit spørgsmål i nedenstående formular, så vender vi tilbage hurtigst muligt.

Søg på dbk.dk: