v51

latestOpenAPI 3.0.0raw.githubusercontent.com2026-08-0175184292.5 KB
Account Information

List account positions

Deprecated. Use the newer unified positions endpoint instead. This will allow you to get both equity and option positions in a single call, as well as additional asset classes such as futures.

Returns a list of stock/ETF/crypto/mutual fund positions in the specified account. For option positions, please use the options endpoint.

Check your API key on the Customer Dashboard billing page to see if you have real-time data access:

  • If you do, this endpoint returns real-time data.
  • If you don't, Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. If you need real-time, use the manual refresh endpoint.

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.

get/accounts/{accountId}/positions

Path parameters

accountIdstring uuid required

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

Example:917c8734-8470-4a3e-a18f-57c3f2ee6631

Query parameters

userIdstring required

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.

Example:snaptrade-user-123
userSecretstring required

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.

Example:adf2aa34-8219-40f7-a6b3-60156985cc61

Response

OK

unitsnumber nullable

The number of shares of the position. This can be fractional or integer units. A positive number indicates a long position, while a negative number indicates a short position.

pricenumber nullable

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_pnlnumber nullable

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_pricenumber nullable

Cost basis per share of this position.

fractional_unitsnumber nullable

Deprecated, use the units field for both fractional and integer units going forward

cash_equivalentboolean nullable

If the position is a cash equivalent (usually a money market fund) that is also counted in account cash balance and buying power

Example response

[
  {
    "symbol": {
      "symbol": {
        "id": "2bcd7cc3-e922-4976-bce1-9858296801c3",
        "symbol": "VAB.TO",
        "raw_symbol": "VAB",
        "description": "VANGUARD CDN AGGREGATE BOND INDEX ETF",
        "currency": {
          "id": "87b24961-b51e-4db8-9226-f198f6518a89",
          "code": "USD",
          "name": "US Dollar"
        },
        "exchange": {
          "id": "2bcd7cc3-e922-4976-bce1-9858296801c3",
          "code": "TSX",
          "mic_code": "XTSE",
          "name": "Toronto Stock Exchange",
          "timezone": "America/New_York",
          "start_time": "09:30:00",
          "close_time": "16:00:00",
          "suffix": ".TO"
        },
        "type": {
          "id": "2bcd7cc3-e922-4976-bce1-9858296801c3",
          "code": "cs",
          "description": "Common Stock",
          "is_supported": true
        },
        "figi_code": "BBG000B9XRY4",
        "figi_instrument": {
          "figi_code": "BBG000B9Y5X2",
          "figi_share_class": "BBG001S5N8V8"
        },
        "currencies": [
          {
            "id": "87b24961-b51e-4db8-9226-f198f6518a89",
            "code": "USD",
            "name": "US Dollar"
          }
        ]
      },
      "id": "2bcd7cc3-e922-4976-bce1-9858296801c3",
      "description": "VANGUARD CDN AGGREGATE BOND INDEX ETF",
      "local_id": "3291231",
      "is_quotable": true,
      "is_tradable": true
    },
    "units": 40,
    "price": 113.15,
    "open_pnl": 0.44,
    "average_purchase_price": 108.3353,
    "fractional_units": 1.44,
    "currency": {
      "id": "87b24961-b51e-4db8-9226-f198f6518a89",
      "code": "USD",
      "name": "US Dollar"
    },
    "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"
      }
    ]
  }
]