---
title: "Get transaction history for a user"
method: GET
path: "/activities"
tags: ["Transactions And Reporting"]
deprecated: true
---

# Get transaction history for a user

`GET /activities`

> **Deprecated.**

**Deprecated.** Use [the account level endpoint](/reference/Account%20Information/AccountInformation_getAccountActivities) instead, if possible.

This endpoint will return HTTP 410 Gone for all customers that sign up after April 25, 2026.

Returns all historical transactions for the specified user and filtering criteria. It's recommended to use `startDate` and `endDate` to paginate through the data, as the response may be very large for accounts with a long history and/or a lot of activity. There's a max number of 10000 transactions returned per request.

There is no guarantee to the ordering of the transactions returned. Please sort the transactions based on the `trade_date` field if you need them in a specific order.

This endpoint returns Daily data. Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage.

## Query parameters

- `startDate` string, date — Date used to specify timeframe for a reporting call (in YYYY-MM-DD format). These dates are inclusive.
- `endDate` string, date — Date used to specify timeframe for a reporting call (in YYYY-MM-DD format). These dates are inclusive.
- `accounts` string — Comma separated list of account IDs
- `brokerageAuthorizations` string — Comma separated list of brokerage authorization IDs
- `type` string
- `userId` string, 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.
- `userSecret` string, 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](/reference/Authentication/Authentication_resetSnapTradeUserSecret).

## Response `200`

OK

- UniversalActivity[]
  - `id` string — Unique identifier for the transaction. This is the ID used to reference the transaction in SnapTrade. Please note that this ID _can_ change if the transaction is deleted and re-added. Under normal circumstances, SnapTrade does not delete transactions. The only time this would happen is if SnapTrade re-fetches and reprocesses the data from the brokerage, which is rare. If you require a stable ID, please let us know and we can work with you to provide one.
  - `account` AccountSimple — A single account at a brokerage.
    - `id` string, uuid — Unique identifier for the connected brokerage account. This is the UUID used to reference the account in SnapTrade.
    - `name` string — A display name for the account. Either assigned by the user or by the brokerage itself. For certain brokerages, SnapTrade appends the brokerage name to the account name for clarity.
    - `number` string — The account number assigned by the brokerage. For some brokerages, this field may be masked for security reasons.
    - `institution_account_id` string, nullable — 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 brokerage account across multiple connections.
    - `sync_status` AccountSyncStatus — Contains status update for the account sync process between SnapTrade and the brokerage.
      - `transactions` TransactionsStatus — Status of account transaction sync. SnapTrade syncs transactions from the brokerage under the following conditions: 1. Initial connection - SnapTrade syncs all transactions from the brokerage account as far back as the brokerage allows. Check [our integrations doc](https://support.snaptrade.com/brokerages-table?v=6fab8012ade6441fa0c6d9af9c55ce3a) for details on how far back we sync for each brokerage. 2. Daily sync - Once a day SnapTrade syncs new transactions from the brokerage. 3. Manual sync - You can trigger an incremental sync of transactions with the [transactions sync](/reference/Experimental%20endpoints/Connections_syncBrokerageAuthorizationTransactions) 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, date, nullable — Date in YYYY-MM-DD format or null
        - `first_transaction_date` string, date, nullable — Date in YYYY-MM-DD format or null
      - `holdings` HoldingsStatus — Status of account holdings sync. SnapTrade syncs holdings from the brokerage under the following conditions: 1. Initial connection - SnapTrade syncs all holdings (positions, balances, recent orders, and transactions) immediately after the connection is established. 2. Daily sync - Once a day SnapTrade refreshes all holdings from the brokerage. 3. Manual sync - You can trigger a refresh of holdings with the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) 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, date-time, nullable — Date in ISO 8601 format or null (YYYY-MM-DD HH:MM:SS.mmmmmmTZ)
        - `holdings_unavailable` boolean — Indicates that the brokerage does not expose this account's holdings to SnapTrade, so the empty positions and balances reported for it do not mean the account is empty. This is set for accounts served by a separate brokerage system that we cannot read, such as Vanguard employer-sponsored retirement plans. When this is `true`, prefer the account's total value over the sum of its positions and cash, and note that `initial_sync_completed` and `last_successful_sync` may still reflect an earlier sync.
  - `symbol` Symbol — Uniquely describes a single security + exchange combination across all brokerages.
    - `id` string, 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](https://help.yahoo.com/kb/SLN2310.html)(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, nullable — A human-readable description of the security. This is usually the company name or ETF name.
    - `currency` Currency — Describes a currency object.
      - `id` string, 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` Exchange — Describes a single stock or crypto exchange.
      - `id` string, uuid — Unique ID for the exchange in SnapTrade.
      - `code` string — A short name for the exchange. For standardized exchange code, please use the `mic_code` field.
      - `mic_code` string, nullable — The [Market Identifier Code](https://en.wikipedia.org/wiki/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, nullable — 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` SecurityType — The type of security. For example, "Common Stock" or "ETF".
      - `id` string, 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` - ADR - `bnd` - Bond - `cs` - Common Stock - `cef` - Closed End Fund - `crypto` - Cryptocurrency - `et` - ETF - `oef` - Open Ended Fund - `pm` - Precious Metals - `ps` - Preferred Stock - `rt` - Right - `struct` - Structured Product - `ut` - Unit - `wi` - When Issued - `wt` - 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 use case for this.
    - `figi_code` string, nullable — This identifier is unique per security per trading venue. See section 1.4.1 of the [FIGI Standard](https://www.openfigi.com/assets/local/figi-allocation-rules.pdf) for more information. This value should be the same as the `figi_code` in the `figi_instrument` child property.
    - `figi_instrument` FigiInstrument — Financial Instrument Global Identifier (FIGI) information for the security. See [OpenFIGI](https://www.openfigi.com/) for more information.
      - `figi_code` string, nullable — This identifier is unique per security per trading venue. See section 1.4.1 of the [FIGI Standard](https://www.openfigi.com/assets/local/figi-allocation-rules.pdf) for more information.
      - `figi_share_class` string, nullable — 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](https://www.openfigi.com/assets/local/figi-allocation-rules.pdf) for more information.
  - `currency_universal_symbol` Symbol — Uniquely describes a single security + exchange combination across all brokerages.
    - `id` string, 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](https://help.yahoo.com/kb/SLN2310.html)(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, nullable — A human-readable description of the security. This is usually the company name or ETF name.
    - `currency` Currency — Describes a currency object.
      - `id` string, 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` Exchange — Describes a single stock or crypto exchange.
      - `id` string, uuid — Unique ID for the exchange in SnapTrade.
      - `code` string — A short name for the exchange. For standardized exchange code, please use the `mic_code` field.
      - `mic_code` string, nullable — The [Market Identifier Code](https://en.wikipedia.org/wiki/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, nullable — 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` SecurityType — The type of security. For example, "Common Stock" or "ETF".
      - `id` string, 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` - ADR - `bnd` - Bond - `cs` - Common Stock - `cef` - Closed End Fund - `crypto` - Cryptocurrency - `et` - ETF - `oef` - Open Ended Fund - `pm` - Precious Metals - `ps` - Preferred Stock - `rt` - Right - `struct` - Structured Product - `ut` - Unit - `wi` - When Issued - `wt` - 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 use case for this.
    - `figi_code` string, nullable — This identifier is unique per security per trading venue. See section 1.4.1 of the [FIGI Standard](https://www.openfigi.com/assets/local/figi-allocation-rules.pdf) for more information. This value should be the same as the `figi_code` in the `figi_instrument` child property.
    - `figi_instrument` FigiInstrument — Financial Instrument Global Identifier (FIGI) information for the security. See [OpenFIGI](https://www.openfigi.com/) for more information.
      - `figi_code` string, nullable — This identifier is unique per security per trading venue. See section 1.4.1 of the [FIGI Standard](https://www.openfigi.com/assets/local/figi-allocation-rules.pdf) for more information.
      - `figi_share_class` string, nullable — 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](https://www.openfigi.com/assets/local/figi-allocation-rules.pdf) for more information.
  - `option_symbol` OptionsSymbol — Uniquely describes an option security + exchange combination across all brokerages.
    - `id` string, uuid, required — Unique identifier for the option symbol within SnapTrade. This is the ID used to reference the symbol in SnapTrade API calls.
    - `ticker` string, required — The [OCC symbol](https://en.wikipedia.org/wiki/Option_symbol) for the option.
    - `option_type` 'CALL' | 'PUT', required — The type of option. Either "CALL" or "PUT".
    - `strike_price` number, required — The option strike price.
    - `expiration_date` string, date, required — The option expiration date.
    - `is_mini_option` boolean — Whether the option is a mini option. Mini options have 10 underlying shares per contract instead of the standard 100.
    - `underlying_symbol` UnderlyingSymbol, required — Symbol object for the underlying security of an option.
      - `id` string, 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](https://help.yahoo.com/kb/SLN2310.html)(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, nullable — A human-readable description of the security. This is usually the company name or ETF name.
      - `currency` Currency — Describes a currency object.
        - `id` string, 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` USExchange — US Stock Exchange
        - `id` string, uuid
        - `code` string
        - `mic_code` string, nullable
        - `name` string
        - `timezone` string
        - `start_time` string
        - `close_time` string
        - `suffix` string, nullable
        - `allows_cryptocurrency_symbols` boolean
      - `type` SecurityType — The type of security. For example, "Common Stock" or "ETF".
        - `id` string, 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` - ADR - `bnd` - Bond - `cs` - Common Stock - `cef` - Closed End Fund - `crypto` - Cryptocurrency - `et` - ETF - `oef` - Open Ended Fund - `pm` - Precious Metals - `ps` - Preferred Stock - `rt` - Right - `struct` - Structured Product - `ut` - Unit - `wi` - When Issued - `wt` - 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 use case for this.
      - `figi_code` string, nullable — This identifier is unique per security per trading venue. See section 1.4.1 of the [FIGI Standard](https://www.openfigi.com/assets/local/figi-allocation-rules.pdf) for more information. This value should be the same as the `figi_code` in the `figi_instrument` child property.
      - `figi_instrument` FigiInstrument — Financial Instrument Global Identifier (FIGI) information for the security. See [OpenFIGI](https://www.openfigi.com/) for more information.
        - `figi_code` string, nullable — This identifier is unique per security per trading venue. See section 1.4.1 of the [FIGI Standard](https://www.openfigi.com/assets/local/figi-allocation-rules.pdf) for more information.
        - `figi_share_class` string, nullable — 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](https://www.openfigi.com/assets/local/figi-allocation-rules.pdf) for more information.
      - `currencies` Currency[] — This field is deprecated and should not be used. Please reach out to SnapTrade support if you have a valid use case for this.
        - `id` string, 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.
  - `price` number — The price of the security for the transaction. This is mostly applicable to `BUY`, `SELL`, and `DIVIDEND` transactions.
  - `units` number — The number of units of the security for the transaction. This is mostly applicable to `BUY`, `SELL`, and `DIVIDEND` transactions.
  - `amount` number, nullable — The amount of the transaction denominated in `currency`. This can be positive or negative. In general, transactions that positively affect the account balance (like sell, deposits, dividends, etc) will have a positive amount, while transactions that negatively affect the account balance (like buy, withdrawals, fees, etc) will have a negative amount.
  - `currency` Currency — Describes a currency object.
    - `id` string, 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.
  - `type` string — A string representing the type of transaction. SnapTrade does a best effort to categorize the brokerage transaction types into a common set of values. Here are some of the most popular values: - `BUY` - Asset bought. - `SELL` - Asset sold. - `DIVIDEND` - Dividend payout. - `SUBSTITUTE_DIVIDEND` - Payment in lieu of a dividend. - `CONTRIBUTION` - Cash contribution. - `WITHDRAWAL` - Cash withdrawal. - `REI` - Dividend reinvestment. - `INTEREST` - Interest deposited into the account. - `FEE` - Fee withdrawn from the account. - `OPTIONEXPIRATION` - Option expiration event. `option_symbol` contains the related option contract info. - `OPTIONASSIGNMENT` - Option assignment event. `option_symbol` contains the related option contract info. - `OPTIONEXERCISE` - Option exercise event. `option_symbol` contains the related option contract info.
  - `option_type` string — If an option `BUY` or `SELL` transaction, this further specifies the type of action. The possible values are: - BUY_TO_OPEN - BUY_TO_CLOSE - SELL_TO_OPEN - SELL_TO_CLOSE
  - `description` string — A human-readable description of the transaction. This is usually the brokerage's description of the transaction.
  - `trade_date` string, date-time, nullable — The recorded time for the transaction. The granularity of this timestamp depends on the brokerage. Some brokerages provide the exact time of the transaction, while others provide only the date. Please check the [integrations page](https://support.snaptrade.com/brokerages-table?v=6fab8012ade6441fa0c6d9af9c55ce3a) for the specific brokerage to see the granularity of the timestamps. Note that even though the field is named `trade_date`, it can represent any type of transaction, not just trades.
  - `settlement_date` string, date-time — The date on which the transaction is settled.
  - `fee` number — Any fee associated with the transaction if provided by the brokerage.
  - `fx_rate` number, nullable — The forex conversion rate involved in the transaction if provided by the brokerage. Used in cases where securities of one currency are purchased in a different currency, and the forex conversion is automatic. In those cases, price, amount and fee will be in the top level currency (activity -> currency)
  - `institution` string — The institution that the transaction is associated with. This is usually the brokerage name.
  - `external_reference_id` string, nullable — Reference ID from brokerage used to identify related transactions. For example if an order comprises of several transactions (buy, fee, fx), they can be grouped if they share the same `external_reference_id`

## Other responses

- `default` — Unexpected error

---

[API](https://skmtc.net/passiv/apis/snaptrade.md) · [All operations](https://skmtc.net/passiv/apis/snaptrade/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/passiv/snaptrade/versions/993e058b557e/schema)
