List all account positions
Returns a list of all positions in the specified account.
The results list can contain multiple instrument types in the same response, including stocks, ADRs, ETFs, mutual funds, closed-end funds, crypto, futures, option positions, and CFD positions. Use the instrument.kind discriminator to determine the schema for each position's instrument.
mutualfund positions may also include cash_equivalent. stock, etf, and mutualfund positions may include tax_lots when tax lot data is enabled for the account.
If the connection has become disabled, it can no longer access the latest data from the brokerage, but will continue to return the last available cached state. Please see this guide on how to fix a disabled connection.
Path parameters
Unique identifier for the connected brokerage account. This is the UUID used to reference the account in SnapTrade.
Query parameters
SnapTrade User ID. This is chosen by the API partner and can be any string that is a) unique to the user, and b) immutable for the user. It is recommended to NOT use email addresses for this property because they are usually not immutable.
SnapTrade User Secret. This is a randomly generated string and should be stored securely. If compromised, please rotate it via the rotate user secret endpoint.
Response
OK
Example response
{
"results": [
{
"instrument": {
"kind": "stock",
"id": "1ef3a5d3-4a9b-40b2-b8d1-cc35f74d6324",
"symbol": "AAPL",
"raw_symbol": "AAPL",
"description": "Apple Inc.",
"currency": "USD",
"exchange": "XNAS",
"figi_instrument": {
"figi_code": "BBG000B9Y5X2",
"figi_share_class": "BBG001S5N8V8"
}
},
"units": "10.5",
"price": "123.45",
"cost_basis": "118.2",
"currency": "USD",
"tax_lots": [
{
"original_purchase_date": "2022-01-15T10:30:00Z",
"quantity": "10",
"purchased_price": "100.50",
"cost_basis": "1005.00",
"current_value": "1200.00",
"position_type": "LONG",
"lot_id": "12345678"
}
]
}
],
"data_freshness": {
"as_of": "2026-06-02T14:30:00Z"
}
}