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_idwhich represents the account for which you're looking up the transactions list - a
request_idwhich 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
currencycode (GBP or EUR) - an
amount_in_minorin 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
statusof the transaction, which can bependingorsettled - a
merchant_name - a
transaction_categorywhich identifies what type of transaction it is
In addition to the items, you also receive:
- an
idwhich represents the request to retrieve the list - the
statusof 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.