The TrueLayer Data API is a single interface to access identity, accounts, transactions and balance data for all integrated banks.

📘

To get support for the Data API:

Available data

The Data API allows you to access the following data for a connected account:

  • Account: account holder name, account number, IBAN etc.
  • Credit card: card network, last four digits, name on card etc.
  • Transactions: description, amount, category, merchant name etc
  • Balances: current, available etc.
  • Regular payments: standing orders and direct debits

Coverage

We offer the Data API in the UK and Ireland in general availability. Our APIs are in public beta in France, Italy, Lithuania, and Spain. More countries coming soon!

Authentication flow

We offer a ready-made UX flow for you to easily let users connect their bank accounts to your application, or you can build your own fully custom flow on top of our API.

If you are regulated, you have 2 options for your auth flow:

  • Use our ready-made, customisable user journey
  • Build your own

Non-regulated and agents of TrueLayer customers must use TrueLayer’s flow, which is customisable to fit seamlessly into your application.

Authentication features

Data types

General

All of the responses returned by TrueLayer APIs are in JSON format. The description of the data types encoded in a JSON response is below.

TypeDescription
stringA UTF-8 string
datetimeAn ISO8601 encoded date time
booleantrue or false
numberA float number

ISO20022 Text Fields

The Payments API constrains some fields to be limited to ISO 20022 text format. These fields are typically used for names and references in bank payment requests.

Valid characters for such a text field include:

a-z
A-Z
0-9
/ – ? : ( ) . , ‘ +
space

Any other characters included will result in a validation error.

API response structure

All responses are JSON encoded.

Success

Field nameTypeDescription
resultsarrayAn array of objects
{
    "results": [
        {
            "hello": "world"
        }
    ]
}

Error

Field nameTypeDescription
errorstringAn error code for classification. eg: internal_error
error_descriptionstringWhen possible, extra details about the specific error
error_detailsobjectAdditional key/value error details if available
{
    "error":  "internal_error",
    "error_description": "Well, this is embarrassing!",
    "error_details": {
        "detail_key": "detail value"
    }
}

Data Definitions

DefinitionDescription
AccountA financial account with a provider eg. a current account
Authorisation serverThe secure service hosted by TrueLayer that allows users to authenticate with their provider credentials. It also offers API endpoints to obtain and renew access_token
ClientAn application implementing this API
UserAn application's user and the owner of an account
Data APIThe API that provides access to users' financial data
ScopesA set of permissions the user grants to the client to access data on their behalf
ProviderA supported bank or other financial institution
CredentialsA set of identifiers and secrets the user uses to access their accounts with a provider

Did this page help you?