Response fields
array of objects
object
Account Holdings
account
object
SnapTradeUser Investment Account
id
string (format: uuid)
brokerage_authorization
object
A single connection with a brokerage. Note that Connection
and Brokerage Authorization
are interchangeable, but the term Connection
is preferred and used in the doc for consistency.
A connection is usually tied to a single login at a brokerage. A single connection can contain multiple brokerage accounts.
SnapTrade performs de-duping on connections for a given user. If the user has an existing connection with the brokerage, when connecting the brokerage with the same credentials, SnapTrade will return the existing connection instead of creating a new one.
id
string (format: uuid)
Unique identifier for the connection. This is the UUID used to reference the connection in SnapTrade.
created_date
string (format: date-time)
Timestamp of when the connection was established in SnapTrade.
brokerage
object
Describes a brokerage that SnapTrade supports.
id
string (format: uuid)
Unique identifier for the brokerage firm. This is the UUID used to reference the brokerage in SnapTrade.
slug
string
A short, unique identifier for the brokerage. It is usually the name of the brokerage in capital letters and will never change.
name
string
Full name of the brokerage.
display_name
string
A display-friendly name of the brokerage.
description
string
A brief description of the brokerage.
aws_s3_logo_url
string (format: url)
URL to the brokerage's logo.
aws_s3_square_logo_url
string (format: url) or null
URL to the brokerage's logo in square format.
url
string (format: url)
URL to the brokerage's website.
enabled
boolean
Whether the brokerage is enabled in SnapTrade. A disabled brokerage will not be available for new connections.
maintenance_mode
boolean
Whether the brokerage is currently in maintenance mode. A brokerage in maintenance mode will not be available for new connections.
allows_trading
boolean or null
Whether the brokerage allows trading through SnapTrade.
allows_fractional_units
boolean or null
This field is deprecated. Please contact us if you have a valid use case for it.
has_reporting
boolean or null
This field is deprecated. Please contact us if you have a valid use case for it.
is_real_time_connection
boolean
This field is deprecated. Please contact us if you have a valid use case for it.
brokerage_type
object
Type of brokerage. Currently supports traditional brokerages and crypto exchanges.
id
string (format: uuid)
name
string
exchanges
array of any
This field is deprecated. Please contact us if you have a valid use case for it.
open_url
string (format: url) or null
This field is deprecated.
name
string
A short, human-readable name for the connection.
type
string
Whether the connection is read-only or trade-enabled. A read-only connection can only be used to fetch data, while a trade-enabled connection can be used to place trades. Valid values are read
and trade
.
disabled
boolean
Whether the connection is disabled. A disabled connection can no longer access the latest data from the brokerage, but will continue to return the last cached state. A connection can become disabled for many reasons and differs by brokerage. Here are some common scenarios:
- The user has changed their username or password at the brokerage.
- The user has explicitly removed the access grant at the brokerage.
- The session has expired at the brokerage and now requires explicit user re-authentication.
Please see this guide on how to fix a disabled connection.
disabled_date
string (format: date-time) or null
Timestamp of when the connection was disabled in SnapTrade.
meta
object
Additional data about the connection. This information is specific to the brokerage and there's no standard format for this data. This field is deprecated and subject to removal in a future version.
updated_date
string (format: date-time)
Timestamp of when the connection was last updated in SnapTrade. This field is deprecated. Please let us know if you have a valid use case for this field.
is_eligible_for_payout
boolean
Whether the connection is eligible for a payout.
portfolio_group
string (format: uuid)
name
string or null
number
string
institution_name
string
sync_status
object
Contains status update for the account sync process between SnapTrade and the brokerage.
transactions
object
Status of account transaction sync. SnapTrade syncs transactions from the brokerage under the following conditions:
- Initial connection - SnapTrade syncs all transactions from the brokerage account as far back as the brokerage allows. Check our integrations doc for details on how far back we sync for each brokerage.
- Daily sync - Once a day SnapTrade syncs new transactions from the brokerage.
- Manual sync - You can retrigger an incremental sync of transactions with the manual refresh endpoint.
initial_sync_completed
boolean
Indicates if the initial sync of transactions has been completed. For accounts with a large number of transactions, the initial sync may take a while to complete.
last_successful_sync
string (format: date) or null
All transactions up to this date have been successfully synced. Please note that this is not the date of the last transaction, nor the last time SnapTrade attempted to sync transactions.
first_transaction_date
string (format: date) or null
The date of the first transaction in the account known to SnapTrade. It's possible that the account has transactions before this date, but they are not known to SnapTrade.
holdings
object
Status of account holdings sync. SnapTrade syncs holdings from the brokerage under the following conditions:
- Initial connection - SnapTrade syncs all holdings (positions, balances, recent orders, and transactions) immediately after the connection is established.
- Daily sync - Once a day SnapTrade refreshes all holdings from the brokerage.
- Manual sync - You can trigger a refresh of holdings with the manual refresh endpoint.
initial_sync_completed
boolean
Indicates if the initial sync of holdings has been completed. For accounts with a large number of positions/orders/transactions, the initial sync may take a while to complete.
last_successful_sync
string (format: date-time) or null
The last time holdings were successfully synced by SnapTrade.
meta
object
balances
array of objects or null
currency
object
The currency of the balance. This applies to both cash
and buying_power
.
id
string (format: uuid)
Unique identifier for the currency. This is the UUID used to reference the currency in SnapTrade.
code
string
The ISO-4217 currency code for the currency.
name
string
A human-friendly name of the currency.
cash
number or null
The amount of available cash in the account denominated in the currency of the currency
field.
buying_power
number or null
Buying power only applies to margin accounts. For non-margin accounts, buying power should be the same as cash. Please note that this field is not always available for all brokerages.
positions
array of objects or null
symbol
object
Uniquely describes a security for the position within an account. The distinction between this and the symbol
child property is that this object is specific to a position within an account, while the symbol
child property is universal across all brokerage accounts. The caller should rely on the symbol
child property for most use cases.
symbol
object
Uniquely describes a single security + exchange combination across all brokerages.
id
string (format: uuid)
Unique identifier for the symbol within SnapTrade. This is the ID used to reference the symbol in SnapTrade API calls.
symbol
string
The security's trading ticker symbol. For example "AAPL" for Apple Inc. We largely follow the Yahoo Finance ticker format(click on "Yahoo Finance Market Coverage and Data Delays"). For example, for securities traded on the Toronto Stock Exchange, the symbol has a '.TO' suffix. For securities traded on NASDAQ or NYSE, the symbol does not have a suffix.
raw_symbol
string
The raw symbol is symbol
with the exchange suffix removed. For example, if symbol
is "VAB.TO", then raw_symbol
is "VAB".
description
string or null
A human-readable description of the security. This is usually the company name or ETF name.
currency
object
The currency in which the security is traded.
id
string (format: uuid)
Unique identifier for the currency. This is the UUID used to reference the currency in SnapTrade.
code
string
The ISO-4217 currency code for the currency.
name
string
A human-friendly name of the currency.
exchange
object
The exchange on which the security is listed and traded.
id
string (format: uuid)
Unique ID for the exchange in SnapTrade.
code
string
A short name for the exchange. For standardized exchange code, please us the mic_code
field.
mic_code
string
The Market Identifier Code (MIC) for the exchange.
name
string
The full name of the exchange.
timezone
string
The timezone for the trading hours (start_time
and close_time
) of the exchange.
start_time
string
The time when the exchange opens for trading.
close_time
string
The time when the exchange closes for trading.
suffix
string or null
The suffix to be appended to the symbol when trading on this exchange. For example, the suffix for the Toronto Stock Exchange is .TO
. See UniversalSymbol->symbol
and UniversalSymbol->raw_symbol
for more detail.
type
object
The type of security. For example, "Common Stock" or "ETF".
id
string (format: uuid)
Unique identifier for the security type within SnapTrade. This is the ID used to reference the security type in SnapTrade API calls.
code
string
A short code representing the security type. For example, "cs" for Common Stock. Here are some common values:
ad
- ADRbnd
- Bondcs
- Common Stockcef
- Closed End Fundcrypto
- Cryptocurrencyet
- ETFoef
- Open Ended Fundps
- Preferred Stockrt
- Rightstruct
- Structured Productut
- Unitwi
- When Issuedwt
- Warrant
description
string
A human-readable description of the security type. For example, "Common Stock" or "ETF".
is_supported
boolean
This field is deprecated and should not be used. Please reach out to SnapTrade support if you have a valid usecase for this.
figi_code
string or null
This identifier is unique per security per trading venue. See section 1.4.1 of the FIGI Standard for more information. This value should be the same as the figi_code
in the figi_instrument
child property.
figi_instrument
object or null
Financial Instrument Global Identifier (FIGI) information for the security. See OpenFIGI for more information.
figi_code
string or null
This identifier is unique per security per trading venue. See section 1.4.1 of the FIGI Standard for more information.
figi_share_class
string or null
This enables users to link multiple FIGIs for the same security in order to obtain an aggregated view across all countries and all exchanges. For example, AAPL
has a different FIGI for each exchange/trading venue it is traded on. The figi_share_class
is the same for all of these FIGIs. See section 1.4.3 of the FIGI Standard for more information.
currencies
array of objects
This field is deprecated and should not be used. Please reach out to SnapTrade support if you have a valid usecase for this.
id
string (format: uuid)
Unique identifier for the currency. This is the UUID used to reference the currency in SnapTrade.
code
string
The ISO-4217 currency code for the currency.
name
string
A human-friendly name of the currency.
id
string (format: uuid)
A unique ID for the security within SnapTrade, scoped to the brokerage account that the security belongs to. This is a legacy field and should not be used. Do not rely on this being a stable ID as it can change.
description
string
This field is deprecated and the caller should use the symbol
child property's description
instead.
local_id
string or null
This field is deprecated and should not be used. Please reach out to SnapTrade support if you have a valid usecase for this.
is_quotable
boolean
This field is deprecated and should not be used. Please reach out to SnapTrade support if you have a valid usecase for this.
is_tradable
boolean
This field is deprecated and should not be used. Please reach out to SnapTrade support if you have a valid usecase for this.
units
number or null
The number of shares of the position. This can be fractional or integer units.
price
number or null
Last known market price for the symbol. The freshness of this price depends on the brokerage. Some brokerages provide real-time prices, while others provide delayed prices. It is recommended that you rely on your own third-party market data provider for most up to date prices.
open_pnl
number or null
The profit or loss on the position since it was opened. This is calculated as the difference between the current market value of the position and the total cost of the position. It is recommended to calculate this value using the average purchase price and the current market price yourself, instead of relying on this field.
average_purchase_price
number or null
Cost basis per share of this position.
fractional_units
number or null
Deprecated, use the units
field for both fractional and integer units going forward
total_value
object
This field is deprecated. To get the brokerage reported total market value of the account, please refer to account.balance.total
.
The total market value of the account. Note that this field is calculated based on the sum of the values of account positions and cash balances known to SnapTrade. It may not be accurate if the brokerage account has holdings that SnapTrade is not aware of. For example, if the brokerage account holds assets that SnapTrade does not support, the total value may be underreported. In certain cases, this value may also be double-counting cash-equivalent assets if those assets are represented as both cash and positions in the account.
value
number or null
Total value denominated in the currency of the currency
field.
currency
string or null
The ISO-4217 currency code for the amount.
1[2{3"account": {4"id": "2bcd7cc3-e922-4976-bce1-9858296801c3",5"brokerage_authorization": {6"id": "87b24961-b51e-4db8-9226-f198f6518a89",7"created_date": "2024-08-20T21:56:19.123Z",8"brokerage": {9"id": "ebf91a5b-0920-4266-9e36-f6cfe8c40946",10"slug": "ROBINHOOD",11"name": "Robinhood",12"display_name": "Robinhood",13"description": "Robinhood is an American multinational financial services corporation based in Menlo Park, California.",14"aws_s3_logo_url": "https://passiv-brokerage-logos.s3.ca-central-1.amazonaws.com/robinhood-logo.png",15"aws_s3_square_logo_url": "https://passiv-brokerage-logos.s3.ca-central-1.amazonaws.com/robinhood-logo-square.png",16"url": "https://robinhood.com",17"enabled": true,18"maintenance_mode": true,19"allows_trading": true,20"allows_fractional_units": true,21"has_reporting": true,22"is_real_time_connection": true,23"brokerage_type": {24"id": "2bcd7cc3-e922-4976-bce1-9858296801c3",25"name": "Traditional Brokerage"26},27"exchanges": [28"2bcd7cc3-e922-4976-bce1-9858296801c3",29"4bcd8cc3-c122-4974-dc21-1858296801f4"30],31"open_url": "string"32},33"name": "Connection-1",34"type": "trade",35"disabled": false,36"disabled_date": "2022-01-21T20:11:19.217Z",37"meta": {38"identifier": 12345639},40"updated_date": "2024-08-20T21:56:20.057Z",41"is_eligible_for_payout": true42},43"portfolio_group": "2bcd7cc3-e922-4976-bce1-9858296801c3",44"name": "Registered Retirement Savings Account",45"number": "Q6542138443",46"institution_name": "Alpaca",47"sync_status": {48"transactions": {49"initial_sync_completed": true,50"last_successful_sync": "2022-01-24",51"first_transaction_date": "2022-01-24"52},53"holdings": {54"initial_sync_completed": true,55"last_successful_sync": "2024-06-28 18:42:46.561408+00:00"56}57},58"meta": {59"type": "Margin",60"status": "ACTIVE",61"institution_name": "Alpaca"62}63},64"balances": [65{66"currency": {67"id": "87b24961-b51e-4db8-9226-f198f6518a89",68"code": "USD",69"name": "US Dollar"70},71"cash": 300.71,72"buying_power": 410.7173}74],75"positions": [76{77"symbol": {78"symbol": {79"id": "2bcd7cc3-e922-4976-bce1-9858296801c3",80"symbol": "VAB.TO",81"raw_symbol": "VAB",82"description": "VANGUARD CDN AGGREGATE BOND INDEX ETF",83"currency": {84"id": "87b24961-b51e-4db8-9226-f198f6518a89",85"code": "USD",86"name": "US Dollar"87},88"exchange": {89"id": "2bcd7cc3-e922-4976-bce1-9858296801c3",90"code": "TSX",91"mic_code": "XTSE",92"name": "Toronto Stock Exchange",93"timezone": "America/New_York",94"start_time": "09:30:00",95"close_time": "16:00:00",96"suffix": ".TO"97},98"type": {99"id": "2bcd7cc3-e922-4976-bce1-9858296801c3",100"code": "cs",101"description": "Common Stock",102"is_supported": true103},104"figi_code": "BBG000B9XRY4",105"figi_instrument": {106"figi_code": "BBG000B9Y5X2",107"figi_share_class": "BBG001S5N8V8"108},109"currencies": [110{111"id": "87b24961-b51e-4db8-9226-f198f6518a89",112"code": "USD",113"name": "US Dollar"114}115]116},117"id": "2bcd7cc3-e922-4976-bce1-9858296801c3",118"description": "VANGUARD CDN AGGREGATE BOND INDEX ETF",119"local_id": "3291231",120"is_quotable": true,121"is_tradable": true122},123"units": 40,124"price": 113.15,125"open_pnl": 0.44,126"average_purchase_price": 108.3353,127"fractional_units": 1.44128}129],130"total_value": {131"value": 32600.71,132"currency": "USD"133}134}135]