Account Data
An account represents a unique account at a brokerage, like an individual account, or a 401k retirement account. A connection can have multiple accounts. The same brokerage account can also belong to multiple connections. For example a joint account between two individual account holders are visible under each account holder’s connection. With a connected account, you can call any SnapTrade account data API to get information about the account, its holdings, and its history.
Account Details
The account object contains information such as the institution name, the sync status of the account and the total market value of the account.
Positions
Positions are the current holdings of the account excluding cash. This includes many asset classes such as stocks, ETFs, and fixed income.
Balances
Balances are the current cash holdings and buying power of the account. In some cases, brokerages will allow holding many currencies in an account and these will be returned as separate balances.
Orders
Orders are how a broker keeps track of trading activity in an account. This differs from account activities in the following ways:
- Is updated intraday
- Contains all orders placed at the broker regardless if they resulted in a change in position, including cancelled orders and pending orders
- Often has more granular timestamps than account activities
- Only looks back a few months at most
Activities
Activities record the transaction history for the account. Each activity documents a change in position for the account, including deposits, withdrawals, fees, dividends, buys and sells. This differs from Orders in the following ways:
- Activities are updated once daily
- Activities may not have timestamps of when the transaction occurred (only the date)
- Activities only contain transactions that resulted in a change of position to the account, no pending or cancelled orders
- Often has years of history for the account, sometimes the entire account history since inception
SnapTrade classifies common transactions under the predefined types, with extra focus on what we consider the most important types (buys, sells, contributions, dividends, withdrawals, etc). When we encounter a transaction with a type that doesn't fit into one of our common types, we will return the type that the brokerage uses to identify it. We usually recommend you try not to individually handle every type beyond the most common ones, and instead rely on the other fields: amount, units, price, symbol, option_symbol, etc. If amount is positive it represents gaining cash, if amount is negative it represents spending cash. Same with units, so a BUY for instance would have positive units and negative amount, a sell would be negative units positive amount.
Here are some of the most popular types:
BUY - Asset bought. SELL - Asset sold. DIVIDEND - Dividend payout. CONTRIBUTION - Cash contribution. WITHDRAWAL - Cash withdrawal. REI - Dividend reinvestment. STOCK_DIVIDEND - A type of dividend where a company distributes shares instead of cash INTEREST - Interest deposited into the account. FEE - Fee withdrawn from the account. TAX - A tax related fee. OPTIONEXPIRATION - Option expiration event. OPTIONASSIGNMENT - Option assignment event. OPTIONEXERCISE - Option exercise event. TRANSFER - Transfer of assets from one account to another. SPLIT - A stock share split.
Caching
Responses to the Account Data APIs are always cached. We have a daily sync process that refreshes all account data for all connections at least once every 24 hours. You can listen to the ACCOUNT_HOLDING_UPDATED webhook if you want to react to SnapTrade having new account data. If you want to refresh accounts on demand, you can call the manual refresh endpoint: . Note that this endpoint may incur a cost.
See also: