Get transactions

The v3/connected-accounts/{account\_id}/transactions/requests/{request\_id} endpoint retrieves the result of a previously created transactions request.

This endpoint is idempotent and re-readable: repeated reads of the same request_id return the same pre-computed page. To retrieve a different page, create a new request via POST with the next_cursor value, which returns a new request id.

Authentication

For all Data v3 requests, you must supply a Connection_Id header. For transactions requests, your connection ID should have a transactions scope.

You can get one of these by creating a connection to your user's account. Use the /data-connections endpoint to do this.

Make a GET transactions request

When you make a request to the GET transactions endpoint, you need to specify as path parameters within the URL:

  • an account_id which represents the account for which you're looking up the transactions list
  • a request_id which represents the initial request to create the list of transactions

You may also want to provide the IP address of the end user as a header. This confirms that your user is present when the request is made, enabling you to bypass rate limiting.

Below is an example request, including headers:

See your user's transaction information

What you see in the response will depend on the status:

  • pending — the request is still being processed; poll again.
  • completed — the request was successful; the list of transactions will also be present in the response.
  • failed — the request could not be completed; see the failure reason for more information about why.

When you make a successful transactions request with a status of completed, you receive the range of transactions that you specified in the form of an array of items. The items are listed inside a result object.

Each of the items on the list contains:

  • a transaction_id
  • a timestamp
  • a description , supplied by the bank
  • a currency code (GBP or EUR)
  • an amount_in_minor in the smallest possible units (pennies for GBP, cents for EUR).
    For transactions where the account was debited (eg purchases and other outgoings), this amount will be negative.
  • the status of the transaction, which can be pending or settled
  • a merchant_name
  • a transaction_category which identifies what type of transaction it is

In addition to the items, you also receive:

  • an id which represents the request to retrieve the list
  • the status of the transactions request

In one page of results, the maximum possible number of transactions is 500.

{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "status": "completed",
  "result": {
    "items": [
      {
        "transaction_id": "1d6f5f1b9b0e4c0a8f2d3e4b5a6c7d8e",
        "timestamp": "2025-04-01T12:34:56Z",
        "description": "ANKH-MORPORK POST OFFICE",
        "transaction_category": "PURCHASE",
        "currency": "GBP",
        "amount_in_minor": -4200,
        "status": "SETTLED",
        "merchant_name": "Ankh-Morpork Post Office"
      }
    ],
    "pagination": {
      "next_cursor": "bWFuZGF0ZXM6MmUwNDk0MTMK"
    }
  }
}
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"status": "failed",
"failure_reason": "provider_error"
}
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"status": "pending"
}

The response also contains a pagination object with a next_cursor .

Make another request to the Create a transactions request endpoint, including the cursor, to see the next page of transaction results.