> For AI agents: the complete documentation index is available at [llms.txt](https://docs.snaptrade.com/llms.txt), and the full documentation text is available at [llms-full.txt](https://docs.snaptrade.com/llms-full.txt). Markdown versions of documentation pages are available by appending .md to the URL path.

# List account option positions

GET https://api.snaptrade.com/accounts/{accountId}/options

Returns a list of option positions in the specified account. For stock/ETF/crypto/mutual fund positions, please use the [positions endpoint](/reference/Account%20Information/AccountInformation_getUserAccountPositions).

This endpoint is deprecatd. Consider using the newer [unified positions endpoint](/reference/Account%20Information/AccountInformation_getAllAccountPositions). This will allow you to get both equity and option positions in a single call, as well as additional asset classes such as futures.

Check your API key on the [Customer Dashboard billing page](https://dashboard.snaptrade.com/settings/billing) 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](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint.


Reference: https://docs.snaptrade.com/reference/Options/Options_listOptionHoldings

## Code Examples

### TypeScript

```typescript

import { Snaptrade } from "snaptrade-typescript-sdk";

const snaptrade = new Snaptrade({
  clientId: "PARTNER_CLIENT_ID",
  consumerKey: "CONSUMER_KEY",
});

const response =
  await snaptrade.options.listOptionHoldings({
    accountId:
      "917c8734-8470-4a3e-a18f-57c3f2ee6631",
    userId: "snaptrade-user-123",
    userSecret:
      "adf2aa34-8219-40f7-a6b3-60156985cc61",
  });
console.log(response.data);

```

### Python

```python

from pprint import pprint
from snaptrade_client import SnapTrade

snaptrade = SnapTrade(
    client_id="PARTNER_CLIENT_ID",
    consumer_key="CONSUMER_KEY"
)

response = snaptrade.options.list_option_holdings(
    account_id="917c8734-8470-4a3e-a18f-57c3f2ee6631",
    user_id="snaptrade-user-123",
    user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61"
)
pprint(response.body)

```

## OpenAPI Specification

```yaml

openapi: 3.0.0
info:
  description: Connect brokerage accounts to your app for live positions and trading
  version: 1.0.0
  title: SnapTrade
  termsOfService: N/A
  contact:
    email: api@snaptrade.com
  x-konfig-ignore:
    potential-incorrect-type: true
  x-readme:
    explorer-enabled: false
paths:
  /accounts/{accountId}/options:
    get:
      deprecated: true
      tags:
        - Options
      summary: List account option positions
      description: >
        Returns a list of option positions in the specified account. For
        stock/ETF/crypto/mutual fund positions, please use the [positions
        endpoint](/reference/Account%20Information/AccountInformation_getUserAccountPositions).


        This endpoint is deprecatd. Consider using the newer [unified positions
        endpoint](/reference/Account%20Information/AccountInformation_getAllAccountPositions).
        This will allow you to get both equity and option positions in a single
        call, as well as additional asset classes such as futures.


        Check your API key on the [Customer Dashboard billing
        page](https://dashboard.snaptrade.com/settings/billing) 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](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint.
      operationId: Options_listOptionHoldings
      parameters:
        - in: query
          required: true
          name: userId
          schema:
            description: >-
              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.
            type: string
            example: snaptrade-user-123
        - in: query
          required: true
          name: userSecret
          schema:
            description: >-
              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).
            type: string
            example: adf2aa34-8219-40f7-a6b3-60156985cc61
        - in: path
          name: accountId
          required: true
          schema:
            description: >-
              Unique identifier for the connected brokerage account. This is the
              UUID used to reference the account in SnapTrade.
            type: string
            format: uuid
            example: 917c8734-8470-4a3e-a18f-57c3f2ee6631
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  description: Describes a single option position in an account.
                  type: object
                  properties:
                    symbol:
                      description: >-
                        Uniquely describes a security for the option position
                        within an account. The distinction between this and the
                        `option_symbol` child property is that this object is
                        specific to a position within an account, while the
                        `option_symbol` child property is universal across all
                        brokerage accounts. The caller should rely on the
                        `option_symbol` child property for most use cases.
                      type: object
                      properties:
                        option_symbol:
                          description: >-
                            Uniquely describes an option security + exchange
                            combination across all brokerages.
                          type: object
                          required:
                            - id
                            - ticker
                            - option_type
                            - strike_price
                            - expiration_date
                            - underlying_symbol
                          properties:
                            id:
                              description: >-
                                Unique identifier for the option symbol within
                                SnapTrade. This is the ID used to reference the
                                symbol in SnapTrade API calls.
                              type: string
                              format: uuid
                              example: 2bcd7cc3-e922-4976-bce1-9858296801c3
                            ticker:
                              description: >-
                                The [OCC
                                symbol](https://en.wikipedia.org/wiki/Option_symbol)
                                for the option.
                              type: string
                              example: AAPL  261218C00240000
                            option_type:
                              description: The type of option. Either "CALL" or "PUT".
                              type: string
                              enum:
                                - CALL
                                - PUT
                              example: CALL
                            strike_price:
                              description: The option strike price.
                              type: number
                              example: 240
                            expiration_date:
                              description: The option expiration date.
                              type: string
                              format: date
                              example: '2026-12-18'
                            is_mini_option:
                              description: >-
                                Whether the option is a mini option. Mini
                                options have 10 underlying shares per contract
                                instead of the standard 100.
                              type: boolean
                              example: false
                            underlying_symbol:
                              description: >-
                                Symbol object for the underlying security of an
                                option.
                              type: object
                              properties:
                                id:
                                  description: >-
                                    Unique identifier for the symbol within
                                    SnapTrade. This is the ID used to reference
                                    the symbol in SnapTrade API calls.
                                  type: string
                                  format: uuid
                                  example: 2bcd7cc3-e922-4976-bce1-9858296801c3
                                symbol:
                                  description: >-
                                    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.
                                  type: string
                                  example: SPY
                                raw_symbol:
                                  description: >-
                                    The raw symbol is `symbol` with the exchange
                                    suffix removed. For example, if `symbol` is
                                    "VAB.TO", then `raw_symbol` is "VAB".
                                  type: string
                                  example: VAB
                                description:
                                  description: >-
                                    A human-readable description of the
                                    security. This is usually the company name
                                    or ETF name.
                                  type: string
                                  example: SPDR S&P 500 ETF Trust
                                  nullable: true
                                currency:
                                  description: >-
                                    The currency in which the security is
                                    traded.
                                  allOf:
                                    - description: Describes a currency object.
                                      type: object
                                      properties:
                                        id:
                                          type: string
                                          format: uuid
                                          description: >-
                                            Unique identifier for the currency. This
                                            is the UUID used to reference the
                                            currency in SnapTrade.
                                          example: 87b24961-b51e-4db8-9226-f198f6518a89
                                        code:
                                          type: string
                                          description: >-
                                            The ISO-4217 currency code for the
                                            currency.
                                          example: USD
                                        name:
                                          type: string
                                          description: A human-friendly name of the currency.
                                          example: US Dollar
                                exchange:
                                  description: >-
                                    The exchange on which the security is listed
                                    and traded.
                                  allOf:
                                    - description: US Stock Exchange
                                      type: object
                                      properties:
                                        id:
                                          type: string
                                          format: uuid
                                          example: 2bcd7cc3-e922-4976-bce1-9858296801c3
                                        code:
                                          type: string
                                          example: ARCX
                                        mic_code:
                                          type: string
                                          example: ARCA
                                          nullable: true
                                        name:
                                          type: string
                                          example: NYSE ARCA
                                        timezone:
                                          type: string
                                          example: America/New_York
                                        start_time:
                                          type: string
                                          example: '09:30:00'
                                        close_time:
                                          type: string
                                          example: '16:00:00'
                                        suffix:
                                          type: string
                                          example: None
                                          nullable: true
                                        allows_cryptocurrency_symbols:
                                          type: boolean
                                          example: false
                                type:
                                  description: >-
                                    The type of security. For example, "Common
                                    Stock" or "ETF".
                                  allOf:
                                    - type: object
                                      description: >-
                                        The type of security. For example,
                                        "Common Stock" or "ETF".
                                      properties:
                                        id:
                                          description: >-
                                            Unique identifier for the security type
                                            within SnapTrade. This is the ID used to
                                            reference the security type in SnapTrade
                                            API calls.
                                          type: string
                                          format: uuid
                                          example: 2bcd7cc3-e922-4976-bce1-9858296801c3
                                        code:
                                          description: >
                                            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
                                          type: string
                                          example: cs
                                        description:
                                          description: >-
                                            A human-readable description of the
                                            security type. For example, "Common
                                            Stock" or "ETF".
                                          type: string
                                          example: Common Stock
                                        is_supported:
                                          deprecated: true
                                          description: >-
                                            This field is deprecated and should not
                                            be used. Please reach out to SnapTrade
                                            support if you have a valid use case for
                                            this.
                                          type: boolean
                                          example: true
                                figi_code:
                                  description: >-
                                    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.
                                  type: string
                                  example: BBG000B9XRY4
                                  nullable: true
                                figi_instrument:
                                  nullable: true
                                  allOf:
                                    - description: >-
                                        Financial Instrument Global Identifier
                                        (FIGI) information for the security. See
                                        [OpenFIGI](https://www.openfigi.com/)
                                        for more information.
                                      type: object
                                      properties:
                                        figi_code:
                                          description: >-
                                            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.
                                          type: string
                                          example: BBG000B9Y5X2
                                          nullable: true
                                        figi_share_class:
                                          description: >-
                                            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.
                                          type: string
                                          example: BBG001S5N8V8
                                          nullable: true
                                currencies:
                                  deprecated: true
                                  description: >-
                                    This field is deprecated and should not be
                                    used. Please reach out to SnapTrade support
                                    if you have a valid use case for this.
                                  type: array
                                  items:
                                    description: Describes a currency object.
                                    type: object
                                    properties:
                                      id:
                                        type: string
                                        format: uuid
                                        description: >-
                                          Unique identifier for the currency. This
                                          is the UUID used to reference the
                                          currency in SnapTrade.
                                        example: 87b24961-b51e-4db8-9226-f198f6518a89
                                      code:
                                        type: string
                                        description: >-
                                          The ISO-4217 currency code for the
                                          currency.
                                        example: USD
                                      name:
                                        type: string
                                        description: A human-friendly name of the currency.
                                        example: US Dollar
                        id:
                          deprecated: true
                          description: >-
                            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.
                          type: string
                          format: uuid
                          example: 2bcd7cc3-e922-4976-bce1-9858296801c3
                        description:
                          deprecated: true
                          description: >-
                            This field is deprecated and the caller should use
                            the `option_symbol` child property's `description`
                            instead.
                          type: string
                          example: SPY CALL 7/17 200
                    price:
                      type: number
                      example: 38.4
                      description: >-
                        Last known market price _per share_ of the option
                        contract. 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.
                      nullable: true
                    units:
                      type: number
                      description: >-
                        The number of contracts for this option position. A
                        positive number indicates a long position, while a
                        negative number indicates a short position.
                      example: -50
                    average_purchase_price:
                      type: number
                      nullable: true
                      example: 4126
                      description: >-
                        Cost basis _per contract_ of this option position. To
                        get the cost basis _per share_, divide this value by the
                        number of shares per contract (usually 100).
                    currency:
                      deprecated: true
                      description: >-
                        The currency of the price. This field is deprecated and
                        will be removed in a future version. The currency of the
                        price is determined by the currency of the underlying
                        security.
                      nullable: true
                      allOf:
                        - description: Describes a currency object.
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              description: >-
                                Unique identifier for the currency. This is the
                                UUID used to reference the currency in
                                SnapTrade.
                              example: 87b24961-b51e-4db8-9226-f198f6518a89
                            code:
                              type: string
                              description: The ISO-4217 currency code for the currency.
                              example: USD
                            name:
                              type: string
                              description: A human-friendly name of the currency.
                              example: US Dollar
        '400':
          description: >-
            Invalid request, or option positions are not supported for this
            brokerage
          content:
            application/json:
              schema:
                description: Example for failed request response
                type: object
                properties:
                  default_detail:
                    example: Unable to verify data sent
                  default_code:
                    example: 1076
        '500':
          description: Unexpected error
          content:
            application/json:
              schema:
                description: Example for a response that failed for unexpected reasons
                type: object
                properties:
                  detail:
                    example: Encountered an unexpected exception.
                  status_code:
                    example: 500
                  code:
                    example: 1000

```