For AI agents: the complete documentation index is available at https://docs.snaptrade.com/llms.txt, and the full documentation text is available at https://docs.snaptrade.com/llms-full.txt. Markdown versions of documentation pages are available by appending .md to the URL path.
View as Markdown
Account Information

Get account details

get
https://api.snaptrade.com/accounts/{accountId}/details

Returns the specified account for the authenticated user. The account can be an investment, deposit, or line of credit account. Use the kind discriminator to determine the schema for the account.

On Pay as you Go / Real-time, this endpoint refreshes the account's opening date and total net value (net_value) live from the institution on each call, along with funding date for investment accounts.

On Pay as you Go / Daily, this endpoint returns Daily data. Daily data is cached and refreshed once a day. Exact refresh timing may vary by institution. To force a refresh, use the manual refresh endpoint.

Check your API key on the Customer Dashboard billing page to see whether your plan includes real-time data.

If the connection has become disabled, it can no longer access the latest data from the institution, but will continue to return the last available cached state. Please see this guide on how to fix a disabled connection.

Execute an API Request

Authentication Method

Use commercial authentication when acting on behalf of your application and passing end-user credentials with requests that require them.

Credentials
Path
accountIdstring (format: uuid)required

Unique identifier for the connected brokerage account. This is the UUID used to reference the account in SnapTrade.

Request
Installation
$
npm install snaptrade-typescript-sdk
1
import {
2
Snaptrade,
3
SnaptradeAuth,
4
} from "snaptrade-typescript-sdk";
5
6
const snaptrade = new Snaptrade({
7
auth: SnaptradeAuth.commercialApiKey({
8
consumerKey: "CONSUMER_KEY",
9
clientId: "CLIENT_ID",
10
}),
11
});
12
13
const response =
14
await snaptrade.accountInformation.getAccountDetails(
15
{
16
accountId:
17
"917c8734-8470-4a3e-a18f-57c3f2ee6631",
18
userId: "USER_ID",
19
userSecret: "USER_SECRET",
20
},
21
);
22
console.log(response.data);

Response fields

object

A single account under a connection, from the kind-discriminated union used by Connections_listConnectionAccounts and AccountInformation_listAllUserAccounts. Use kind to determine which schema is present.

investment, deposit, and line_of_credit are implemented today.

kindstring

Discriminator for the account kind.

idstring (format: uuid)

Unique identifier for the connected institution account. This is the UUID used to reference the account in SnapTrade.

connection_idstring (format: uuid)

Unique identifier for the connection (brokerage_authorization_id). This is the UUID used to reference the connection in SnapTrade.

display_namestring or null

A display name for the account. Either assigned by the user or by the institution itself.

The account number assigned by the institution, masked to the last 4 characters (e.g. ****8443).

A stable and unique account identifier provided by the institution. Will be set to null if not provided. When present, can be used to check if a user has connected the same institution account across multiple connections.

institution_idstring (format: uuid)

Unique identifier for the institution that holds the account.

opening_datestring (format: date-time) or null

Timestamp in ISO 8601 format indicating when the account was opened at the institution. Only populated for institutions that expose this data; null for all other institutions. See supported institutions for the full list.

funding_datestring (format: date-time) or null

Timestamp in ISO 8601 format indicating when the account was funded. Only populated for institutions that expose this data; null for all other institutions. See supported institutions for the full list.

Contains status updates for the account sync process between SnapTrade and the institution, used by InvestmentAccount in Connections_listConnectionAccounts. Each property is optional -- an institution may not report sync status for every data type. orders/positions/balances are the timestamp of the last successful sync of that data type (null if never synced). See DepositAccountSyncStatus/LineOfCreditAccountSyncStatus for the deposit/line-of-credit counterparts, which omit orders/positions since those account kinds don't place orders or hold positions.

raw_typestring or null

The account type as provided by the institution.

Whether the institution reports the account as a cash or margin account, normalized across institutions.

  • cash: A cash account. The account cannot borrow on margin.
  • margin: A margin account, including portfolio margin accounts. Some institutions also report retirement accounts with limited margin (for example, trading before funds settle) as margin accounts.
  • unknown: The institution does not report whether the account is cash or margin.

Beta: only returned for some institutions and partners it has been enabled for. Omitted otherwise.

is_paperboolean

Indicates whether the account is a paper (simulated) trading account.

net_valueobject or null

Net value of the account -- total market value for investment accounts. Shared across all account kinds -- negative for line_of_credit accounts, representing money owed. Null when unknown (e.g. a real-time fetch failed and no cached value exists).

1
{
2
"kind": "investment",
3
"id": "917c8734-8470-4a3e-a18f-57c3f2ee6631",
4
"connection_id": "87b24961-b51e-4db8-9226-f198f6518a89",
5
"display_name": "Robinhood Individual",
6
"masked_account_number": "****8443",
7
"institution_account_id": "54953432",
8
"institution_id": "b6e1a9f0-6e2a-4c37-9b0a-6f1e2d3c4b5a",
9
"opening_date": "2024-07-20T09:30:00.000Z",
10
"funding_date": "2024-07-25T12:00:00.000Z",
11
"sync_status": {
12
"transactions": {
13
"initial_sync_completed": true,
14
"last_successful_sync": "2022-01-24T00:00:00.000Z",
15
"first_transaction_date": "2022-01-24T00:00:00.000Z"
16
},
17
"orders": "2024-06-28T18:42:46.561Z",
18
"positions": "2024-06-28T18:42:46.561Z",
19
"balances": "2024-06-28T18:42:46.561Z"
20
},
21
"raw_type": "Margin",
22
"cash_or_margin": "margin",
23
"is_paper": false,
24
"net_value": {
25
"amount": 84213.55,
26
"currency": "USD"
27
}
28
}