Premium APIsNordea Analytics API v1

Analytics API Documentation

Overview

The purpose of this documentation is to give an overview of Nordea Analytics API. Nordea Analytics API is used to retrieve financial data, like curves, timeseries, keyfigures and indices. Nordea Analytics API is just a data provider, so client can use those data as part of bigger solution: for example, to create more complicated calculations, reports or dashboards.

Terminology

TermDescription
APIApplication Programming Interface. A set of definitions, protocols, and tools that can be used to create applications, interact with other applications, and exchange data.
ClientThe client refers to the consumer of the API. This is commonly an application provided by the corporate customer or a regulated third-party provider.
Client AuthenticationThe process which provides the correct identity of the Client; a key component in enforcing that Clients are only able to access the resources that they are allowed to.
SandboxSandbox in the context of this API means a mocked service whereby the data returned by the API consists of example data. Its purpose is to mimic the current production and upcoming versions of the API. Developers can create their account and transaction data for use in the sandbox environment.

API Overview

Please use correct URL depending on target environment:

EnvironmentURL
Sandboxhttps://api.nordeaopenbanking.com/instruments-analytics
Productionhttps://open.nordea.com/instrument-analytics

Versioning

The currently supported versions of Nordea Analytics API are:

SandboxProduction
v1v1

This is first version of Nordea Analytics API. Major version is passed in URI. Major version is increased each time API backwards compatibility is broken. Full version of service can be seen in Open API Documentation.

Example of versioned URI:

https://open.nordea.com/instrument-analytics/v1/timeseries/

Implementation

This API implementation is Representational State Transfer Service (RESTful service in short), and the responses produced by the Nordea API are in JavaScript Object Notation, JSON format. The API also consumes JSON so requests sent to it should have the request body in JSON format.

Sandbox

The sandbox offers a safe and simple way to try out Nordea’s APIs. Developers can familiarize themselves with existing and upcoming functionality. Moreover, it allows the developers to experiment and build applications that use the Nordea API before release. Data returned in sandox is not real data, but just some either static or random data returned regardless of request parameters.

API responses and response codes

The APIs consume JSON objects and return responses as JSON objects. Consult the API reference or the examples sections of each API page to see what the response objects look like. The responses are returned encoded in UTF-8 format.

The objects which the API returns are specified in the API reference and they contain some attributes that are common to all returned objects. For instance, every object has a return code which makes it easy for application developers to check whether the request was successful or not. See the examples to learn how to make requests.

Response headers

NameDescription
X-Request-IDGUID which identifies request.
X-Metadata-VersionCurent Nordea Analytics API version.
X-Metadata-LastUpdateTimestamp of current Nordea Analytics API version.
RateLimit-LimitThe maximum number of requests that the client is allowed to make in this time window.
RateLimit-RemainingThe number of remaining requests allowed in the current window.
RateLimit-ResetContaining the time remaining in the current window, specified in seconds.

Response body format

Example of successful request:

{
  "data": {
    // Data content varies from request to request. Please see API Reference for detailed response data for each request type.
    }
  }
}

Example of failed request due to validation error:

{
    "error_description": "'Date' should not be empty.",
    "error": "nordea.request.validation.error",
    "error_code": "6485e341-6e9e-4784-9ced-01fc9d24763d" // The same as X-Request-ID header.
}

Example of failed request due to server error:

{
    "error_description": "Server encountered an unexpected condition that prevented it from fulfilling the request.",
    "error": "nordea.internal.error",
    "error_code": "6e578027-9b5e-453b-beca-1c80ee6de819" // The same as X-Request-ID header.
}

API response codes

Nordea Analytics API follows HTTP protocol and returns below HTTP status codes:

Status codeDescription
200Request was successful.
204Request was successful, but no response data was sent.
400Request had invalid data. It usually means that request validation failed due to invalid input data, for example client requested data for non-existing financial instrument. Please see errors sent as a response for more details.
401Unauthorized. It usually means that client did not provide credentials or they are either expired or wrong.
403Forbidden. It means that client provided correct credentials, but client is not allowed to request this resource.
404Request path was not found. It usually means that URL is invalid.
415Invalid media type. It usually means that request content is not a JSON.
500Server failed to process request. Please see errors sent as a response for more details. If technical support is requested, then please provide error message and error code for investigation.

Connecting to the API

To be able to use and connect to the API there are few requirements.

  • Application has to be created.
  • Client ID is required.
  • Client Secret is required.
  • The Client ID and Client Secret are generated after the application is created on My apps page. The Client ID and Client Secret can be found when clicking the app icon after the app is created.

When making requests the Client ID and Client Secret are sent in a header of each request.

Note that both, Client ID and Secret are always sent, in every single request that is made towards the API.

If the Client Secret is lost or leaked, it can be regenerated by clicking the reset button on the apps page.

Note that the X-IBM-Client-Id and X-IBM-Client-Secret parameters are only used by the client application.

Client applications

Main client application is Nordea Analytics python library. It is recommended to use it instead of developing custom client application. However, this is still possible. Please see API Reference in this document for details.

Curl

All endpoints are accesible with Curl. Most request parameters can be passed as query in URL. Do not forget to add client ID and secret headers. See below example for reference:

curl --location --request GET 'https://open.nordea.com/instrument-analytics/v1/timeseries?From=2020-09-01&To=2020-10-01&Symbols=DE0001102424&KeyFigures=yield' \
--header 'X-IBM-client-id: PASTE_YOUR_CLIENT_ID_HERE' \
--header 'X-IBM-client-secret: PASTE_YOUR_CLIENT_SECRET_HERE'

Migrating your application to the production environment

Whilst Nordea’s sandbox environment is provided freely to all, there is restricted access to the production environment; to real customer account information and their payment services. The sandbox environment is accessed at the following url: https://api.nordeaopenbanking.com. You will need separate client credentials and a different URL to access the production environment.

The registration process on Developer Portal is described in the Registration Guide.

To be able to use your application in the production environment with real data, the Client Application owner needs to raise a support ticket whereupon Nordea will provide more detailed information about the client onboarding process.