ThetaData At-Time API

The At-Time API from ThetaData — 5 operation(s) for at-time.

OpenAPI Specification

thetadata-at-time-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Theta Data v3 At-Time API
  description: Real-time and historic stock, options, and index data!
  version: 3.0.0
  x-java-package: net.thetadata.generated
servers:
- url: http://127.0.0.1:25503/v3
  description: dev
security: []
tags:
- name: At-Time
paths:
  /stock/at_time/trade:
    x-concurrent-limit-ttl-ms: '652'
    x-min-subscription: standard
    x-history-access: true
    get:
      summary: Trade
      operationId: stock_at_time_trade
      x-codeSamples:
      - lang: Python
        label: pandas
        source: "from thetadata import ThetaClient\nfrom datetime import date\n\nclient = ThetaClient(dataframe_type='pandas')\ndf = client.stock_at_time_trade(\n    symbol='SPY',\n    start_date=date(2024, 1, 16),\n    end_date=date(2024, 1, 16),\n    time_of_day='09:30:00.100',\n)\n"
      - lang: Python
        label: polars
        source: "from thetadata import ThetaClient\nfrom datetime import date\n\nclient = ThetaClient(dataframe_type='polars')\ndf = client.stock_at_time_trade(\n    symbol='SPY',\n    start_date=date(2024, 1, 16),\n    end_date=date(2024, 1, 16),\n    time_of_day='09:30:00.100',\n)\n"
      tags:
      - At-Time
      description: '#### Real-time request:

        - Returns a real-time session from the [Nasdaq Basic feed](/Articles/Data-And-Requests/The-SIPs.html#nasdaq-basic) if the account has a [stocks standard or pro subscription](https://www.thetadata.net/subscribe.html#stocks).

        - Returns a 15-minute delayed session from the [UTP & CTA feeds](/Articles/Data-And-Requests/The-SIPs.html#equities-cta-utp) account has the [stocks value subscription](https://www.thetadata.net/subscribe.html#stocks) subscription.


        #### Historical request:

        Returns the last trade reported by [UTP & CTA feeds](/Articles/Data-And-Requests/The-SIPs.html#equities-cta-utp) at a specified millisecond of the day.

        Trade condition mappings can be found [here](/Articles/Errors-Exchanges-Conditions/Trade-Conditions.html).

        '
      x-sample-urls:
      - url: http://127.0.0.1:25503/v3/stock/at_time/trade?symbol=SPY&start_date=20240116&end_date=20240116&time_of_day=09:30:00.100
        description: Returns the last trade for a given symbol and specified time of day
      - url: http://127.0.0.1:25503/v3/stock/at_time/trade?symbol=SPY&start_date=20240116&end_date=20240116&time_of_day=09:30:00.100&format=html
        description: Click to open in browser (HTML)
      parameters:
      - $ref: '#/components/parameters/single_symbol'
      - $ref: '#/components/parameters/start_date'
      - $ref: '#/components/parameters/end_date'
      - $ref: '#/components/parameters/time_of_day'
      - $ref: '#/components/parameters/venue'
      - $ref: '#/components/parameters/format'
      responses:
        '200':
          description: Returns the last trade for a given symbol and specified time of day
          content:
            text/csv:
              schema:
                type: array
                items: &id001
                  type: object
                  properties:
                    timestamp:
                      type: string
                      format: date-time
                      description: The timestamp in YYYY-MM-DDTHH:mm:ss.SSS format.
                    sequence:
                      type: integer
                      description: The exchange [sequence](/Articles/Data-And-Requests/Making-Requests.html#trade-sequences).
                    ext_condition1:
                      type: integer
                      description: Additional trade [condition](/Articles/Errors-Exchanges-Conditions/Trade-Conditions.html)(s). These can be ignored for options.
                    ext_condition2:
                      type: integer
                      description: Additional trade [condition](/Articles/Errors-Exchanges-Conditions/Trade-Conditions.html)(s). These can be ignored for options.
                    ext_condition3:
                      type: integer
                      description: Additional trade [condition](/Articles/Errors-Exchanges-Conditions/Trade-Conditions.html)(s). These can be ignored for options.
                    ext_condition4:
                      type: integer
                      description: Additional trade [condition](/Articles/Errors-Exchanges-Conditions/Trade-Conditions.html)(s). These can be ignored for options.
                    condition:
                      type: integer
                      description: The trade [condition](/Articles/Errors-Exchanges-Conditions/Trade-Conditions.html).
                    size:
                      type: integer
                      description: The amount of contracts / shares traded.
                    exchange:
                      type: integer
                      description: The [exchange](/Articles/Errors-Exchanges-Conditions/Exchanges.html) the trade was executed.
                    price:
                      type: number
                      description: The trade price.
              example: "timestamp,sequence,ext_condition1,ext_condition2,ext_condition3,ext_condition4,condition,size,exchange,price\r\n2024-01-16T09:30:00.088,405549,255,255,255,115,115,1,57,475.280\r\n"
            application/json:
              schema: &id002
                type: array
                items: *id001
              example: "{\n  \"response\": [\n      {\"sequence\":405549,\"condition\":115,\"size\":1,\"price\":475.280,\"ext_condition2\":255,\"ext_condition1\":255,\"ext_condition4\":115,\"exchange\":57,\"ext_condition3\":255,\"timestamp\":\"2024-01-16T09:30:00.088\"}                  \n  ]\n}\n"
            application/x-ndjson:
              schema: *id002
              example: '{"sequence":405549,"condition":115,"size":1,"price":475.280,"ext_condition2":255,"ext_condition1":255,"ext_condition4":115,"exchange":57,"ext_condition3":255,"timestamp":"2024-01-16T09:30:00.088"}'
            python/pandas:
              schema: *id002
              example: 'timestamp  sequence  ext_condition1  ext_condition2  ext_condition3  ext_condition4  condition  size  exchange   price

                0 2025-10-02 09:29:59.861000-04:00   3899004              32             255               1             115          1    68         7  256.59

                '
            python/polars:
              schema: *id002
              example: 'shape: (1, 10)

                ┌────────────────────────────────┬──────────┬────────────────┬────────────────┬────────────────┬────────────────┬───────────┬──────┬──────────┬────────┐

                │ timestamp                      ┆ sequence ┆ ext_condition1 ┆ ext_condition2 ┆ ext_condition3 ┆ ext_condition4 ┆ condition ┆ size ┆ exchange ┆ price  │

                │ ---                            ┆ ---      ┆ ---            ┆ ---            ┆ ---            ┆ ---            ┆ ---       ┆ ---  ┆ ---      ┆ ---    │

                │ datetime[ms, America/New_York] ┆ i64      ┆ i64            ┆ i64            ┆ i64            ┆ i64            ┆ i64       ┆ i64  ┆ i64      ┆ f64    │

                ╞════════════════════════════════╪══════════╪════════════════╪════════════════╪════════════════╪════════════════╪═══════════╪══════╪══════════╪════════╡

                │ 2025-10-02 09:29:59.861 EDT    ┆ 3899004  ┆ 32             ┆ 255            ┆ 1              ┆ 115            ┆ 1         ┆ 68   ┆ 7        ┆ 256.59 │

                └────────────────────────────────┴──────────┴────────────────┴────────────────┴────────────────┴────────────────┴───────────┴──────┴──────────┴────────┘

                '
  /stock/at_time/quote:
    x-concurrent-limit-ttl-ms: '997'
    x-min-subscription: value
    x-history-access: true
    get:
      summary: Quote
      operationId: stock_at_time_quote
      x-codeSamples:
      - lang: Python
        label: pandas
        source: "from thetadata import ThetaClient\nfrom datetime import date\n\nclient = ThetaClient(dataframe_type='pandas')\ndf = client.stock_at_time_quote(\n    symbol='SPY',\n    start_date=date(2024, 1, 16),\n    end_date=date(2024, 1, 16),\n    time_of_day='09:30:00.100',\n)\n"
      - lang: Python
        label: polars
        source: "from thetadata import ThetaClient\nfrom datetime import date\n\nclient = ThetaClient(dataframe_type='polars')\ndf = client.stock_at_time_quote(\n    symbol='SPY',\n    start_date=date(2024, 1, 16),\n    end_date=date(2024, 1, 16),\n    time_of_day='09:30:00.100',\n)\n"
      tags:
      - At-Time
      description: "#### Real-time request:\n  - Subscription tier standard or higher will default to NQB.\n  - Real-time last BBO quote at-time_of_day-time from the [Nasdaq Basic feed](/Articles/Data-And-Requests/The-SIPs.html#nasdaq-basic) if the account has a [stocks standard or pro subscription](https://www.thetadata.net/subscribe.html#stocks).\n  - 15-minute delayed NBBO quote at-time_of_day-time from the [UTP & CTA feeds](/Articles/Data-And-Requests/The-SIPs.html#equities-cta-utp) account has the [stocks value subscription](https://www.thetadata.net/subscribe.html#stocks) subscription.\n\n#### Historical request:\n  Returns the last NBBO quote reported by [UTP & CTA feeds](/Articles/Data-And-Requests/The-SIPs.html#equities-cta-utp) at a specified millisecond of the day.\n"
      x-sample-urls:
      - url: http://127.0.0.1:25503/v3/stock/at_time/quote?symbol=SPY&start_date=20240116&end_date=20240116&time_of_day=09:30:00.100
        description: Returns the last quote for a given symbol between specified dates (inclusive) with a one minute interval
      - url: http://127.0.0.1:25503/v3/stock/at_time/quote?symbol=SPY&start_date=20240116&end_date=20240116&time_of_day=09:30:00.100&format=html
        description: Click to open in browser (HTML)
      parameters:
      - $ref: '#/components/parameters/single_symbol'
      - $ref: '#/components/parameters/start_date'
      - $ref: '#/components/parameters/end_date'
      - $ref: '#/components/parameters/time_of_day'
      - $ref: '#/components/parameters/venue'
      - $ref: '#/components/parameters/format'
      responses:
        '200':
          description: Returns the last quote for a given symbol between specified dates (inclusive) with a one minute interval
          content:
            text/csv:
              schema:
                type: array
                items: &id003
                  type: object
                  properties:
                    timestamp:
                      type: string
                      format: date-time
                      description: The timestamp in YYYY-MM-DDTHH:mm:ss.SSS format.
                    bid_size:
                      type: integer
                      description: The last NBBO bid size.
                    bid_exchange:
                      type: integer
                      description: The last NBBO bid [exchange](/Articles/Errors-Exchanges-Conditions/Exchanges.html).
                    bid:
                      type: number
                      description: The last NBBO bid price.
                    bid_condition:
                      type: integer
                      description: The last NBBO bid [condition](/Articles/Errors-Exchanges-Conditions/Quote-Conditions.html).
                    ask_size:
                      type: integer
                      description: The last NBBO ask size.
                    ask_exchange:
                      type: integer
                      description: The last NBBO ask [exchange](/Articles/Errors-Exchanges-Conditions/Exchanges.html).
                    ask:
                      type: number
                      description: The last NBBO ask price.
                    ask_condition:
                      type: integer
                      description: The last NBBO ask [condition](/Articles/Errors-Exchanges-Conditions/Quote-Conditions.html).
              example: "timestamp,bid_size,bid_exchange,bid,bid_condition,ask_size,ask_exchange,ask,ask_condition\r\n2024-01-16T09:30:00.1,15,1,475.28,0,8,7,475.28,0\r\n"
            application/json:
              schema: &id004
                type: array
                items: *id003
              example: "{\n  \"response\": [\n    {\"ask_size\":8,\"bid_size\":15,\"ask_exchange\":7,\"ask_condition\":0,\"bid_exchange\":1,\"ask\":475.28,\"bid\":475.28,\"bid_condition\":0,\"timestamp\":\"2024-01-16T09:30:00.1\"}\n  ]\n}\n"
            application/x-ndjson:
              schema: *id004
              example: '{"ask_size":8,"bid_size":15,"ask_exchange":7,"ask_condition":0,"bid_exchange":1,"ask":475.28,"bid":475.28,"bid_condition":0,"timestamp":"2024-01-16T09:30:00.1"}'
            python/pandas:
              schema: *id004
              example: 'timestamp  bid_size  bid_exchange     bid  bid_condition  ask_size  ask_exchange    ask  ask_condition

                0 2025-10-02 09:30:00-04:00         3             1  256.55              0       238             7  256.6              0

                '
            python/polars:
              schema: *id004
              example: 'shape: (1, 9)

                ┌────────────────────────────────┬──────────┬──────────────┬────────┬───────────────┬──────────┬──────────────┬───────┬───────────────┐

                │ timestamp                      ┆ bid_size ┆ bid_exchange ┆ bid    ┆ bid_condition ┆ ask_size ┆ ask_exchange ┆ ask   ┆ ask_condition │

                │ ---                            ┆ ---      ┆ ---          ┆ ---    ┆ ---           ┆ ---      ┆ ---          ┆ ---   ┆ ---           │

                │ datetime[ms, America/New_York] ┆ i64      ┆ i64          ┆ f64    ┆ i64           ┆ i64      ┆ i64          ┆ f64   ┆ i64           │

                ╞════════════════════════════════╪══════════╪══════════════╪════════╪═══════════════╪══════════╪══════════════╪═══════╪═══════════════╡

                │ 2025-10-02 09:30:00 EDT        ┆ 3        ┆ 1            ┆ 256.55 ┆ 0             ┆ 238      ┆ 7            ┆ 256.6 ┆ 0             │

                └────────────────────────────────┴──────────┴──────────────┴────────┴───────────────┴──────────┴──────────────┴───────┴───────────────┘

                '
  /option/at_time/trade:
    x-concurrent-limit-ttl-ms: '72'
    x-min-subscription: standard
    x-history-access: true
    get:
      summary: Trade
      operationId: option_at_time_trade
      x-codeSamples:
      - lang: Python
        label: pandas
        source: "from thetadata import ThetaClient\nfrom datetime import date\n\nclient = ThetaClient(dataframe_type='pandas')\ndf = client.option_at_time_trade(\n    symbol='AAPL',\n    start_date=date(2024, 11, 4),\n    end_date=date(2024, 11, 4),\n    time_of_day='09:30:01.000',\n    expiration=date(2024, 11, 8),\n)\n"
      - lang: Python
        label: polars
        source: "from thetadata import ThetaClient\nfrom datetime import date\n\nclient = ThetaClient(dataframe_type='polars')\ndf = client.option_at_time_trade(\n    symbol='AAPL',\n    start_date=date(2024, 11, 4),\n    end_date=date(2024, 11, 4),\n    time_of_day='09:30:01.000',\n    expiration=date(2024, 11, 8),\n)\n"
      tags:
      - At-Time
      description: '- Returns the last trade reported by [OPRA](/Articles/Data-And-Requests/The-SIPs.html) at a specified millisecond of the day.

        - Trade condition mappings can be found [here](/Articles/Errors-Exchanges-Conditions/Trade-Conditions.html).

        - Extended trade conditions are not reported by [OPRA](/Articles/Data-And-Requests/The-SIPs.html) for options, so they can be ignored.

        - The ``time_of_day``parameter represents the 00:00:00.000 ET that the trade should be provided for.

        '
      x-sample-urls:
      - url: http://127.0.0.1:25503/v3/option/at_time/trade?symbol=AAPL&expiration=20241108&strike=220.000&right=call&start_date=20241104&end_date=20241104&time_of_day=09:30:01.000
        description: Returns the last trade for an option contract
      - url: http://127.0.0.1:25503/v3/option/at_time/trade?symbol=AAPL&expiration=20241108&strike=220.000&right=call&start_date=20241104&end_date=20241104&time_of_day=09:30:01.000&format=html
        description: Click to open in browser (HTML)
      parameters:
      - $ref: '#/components/parameters/single_symbol'
      - $ref: '#/components/parameters/start_date'
      - $ref: '#/components/parameters/end_date'
      - $ref: '#/components/parameters/time_of_day'
      - $ref: '#/components/parameters/expiration'
      - $ref: '#/components/parameters/strike'
      - $ref: '#/components/parameters/right'
      - $ref: '#/components/parameters/max_dte'
      - $ref: '#/components/parameters/strike_range'
      - $ref: '#/components/parameters/format'
      responses:
        '200':
          description: Returns the last trade for an option contract
          content:
            text/csv:
              schema:
                type: array
                items: &id005
                  type: object
                  properties:
                    symbol:
                      type: string
                      description: The symbol of the contract, or stock / underlying asset / option / index.
                    expiration:
                      type: string
                      format: date
                      description: Expiration date of the contract in YYYY-MM-DD format.
                    strike:
                      type: number
                      description: Strike price of the contract in dollars 180.00
                    right:
                      type: string
                      description: Indicates whether the contract is a call or put option.
                    timestamp:
                      type: string
                      format: date-time
                      description: The timestamp in YYYY-MM-DDTHH:mm:ss.SSS format.
                    sequence:
                      type: integer
                      description: The exchange [sequence](/Articles/Data-And-Requests/Making-Requests.html#trade-sequences).
                    ext_condition1:
                      type: integer
                      description: Additional trade [condition](/Articles/Errors-Exchanges-Conditions/Trade-Conditions.html)(s). These can be ignored for options.
                    ext_condition2:
                      type: integer
                      description: Additional trade [condition](/Articles/Errors-Exchanges-Conditions/Trade-Conditions.html)(s). These can be ignored for options.
                    ext_condition3:
                      type: integer
                      description: Additional trade [condition](/Articles/Errors-Exchanges-Conditions/Trade-Conditions.html)(s). These can be ignored for options.
                    ext_condition4:
                      type: integer
                      description: Additional trade [condition](/Articles/Errors-Exchanges-Conditions/Trade-Conditions.html)(s). These can be ignored for options.
                    condition:
                      type: integer
                      description: The trade [condition](/Articles/Errors-Exchanges-Conditions/Trade-Conditions.html).
                    size:
                      type: integer
                      description: The amount of contracts / shares traded.
                    exchange:
                      type: integer
                      description: The [exchange](/Articles/Errors-Exchanges-Conditions/Exchanges.html) the trade was executed.
                    price:
                      type: number
                      description: The trade price.
              example: "symbol,expiration,strike,right,timestamp,sequence,ext_condition1,ext_condition2,ext_condition3,ext_condition4,condition,size,exchange,price\r\nAAPL,2024-11-08,220.000,CALL,2024-11-04T09:30:00.471,18902138,255,255,255,255,130,2,22,3.90\r\n"
            application/json:
              schema: &id006
                type: array
                items: *id005
              example: "{\n  \"response\": [\n    {\n      \"contract\": {\"symbol\":\"AAPL\",\"strike\":220.000,\"right\":\"CALL\",\"expiration\":\"2024-11-08\"},\n      \"data\": [\n        {\"sequence\":18902138,\"condition\":130,\"size\":2,\"price\":3.90,\"ext_condition2\":255,\"ext_condition1\":255,\"ext_condition4\":255,\"exchange\":22,\"ext_condition3\":255,\"timestamp\":\"2024-11-04T09:30:00.471\"}\n      ]\n    }\n  ]\n}\n"
            application/x-ndjson:
              schema: *id006
              example: '{"symbol":"AAPL","strike":220.000,"right":"CALL","sequence":18902138,"condition":130,"size":2,"price":3.90,"ext_condition2":255,"ext_condition1":255,"expiration":"2024-11-08","ext_condition4":255,"exchange":22,"ext_condition3":255,"timestamp":"2024-11-04T09:30:00.471"}'
            python/pandas:
              schema: *id006
              example: 'symbol  expiration  strike right                        timestamp  sequence  ext_condition1  ext_condition2  ext_condition3  ext_condition4  condition  size  exchange   price

                0    SPY  2025-10-17   420.0  CALL 2025-09-19 09:36:06.712000-04:00  55859949             255             255             255             255        130     1        43  243.18

                '
            python/polars:
              schema: *id006
              example: 'shape: (1, 14)

                ┌────────┬────────────┬────────┬───────┬────────────────────────────────┬──────────┬────────────────┬────────────────┬────────────────┬────────────────┬───────────┬──────┬──────────┬────────┐

                │ symbol ┆ expiration ┆ strike ┆ right ┆ timestamp                      ┆ sequence ┆ ext_condition1 ┆ ext_condition2 ┆ ext_condition3 ┆ ext_condition4 ┆ condition ┆ size ┆ exchange ┆ price  │

                │ ---    ┆ ---        ┆ ---    ┆ ---   ┆ ---                            ┆ ---      ┆ ---            ┆ ---            ┆ ---            ┆ ---            ┆ ---       ┆ ---  ┆ ---      ┆ ---    │

                │ str    ┆ str        ┆ f64    ┆ str   ┆ datetime[ms, America/New_York] ┆ i64      ┆ i64            ┆ i64            ┆ i64            ┆ i64            ┆ i64       ┆ i64  ┆ i64      ┆ f64    │

                ╞════════╪════════════╪════════╪═══════╪════════════════════════════════╪══════════╪════════════════╪════════════════╪════════════════╪════════════════╪═══════════╪══════╪══════════╪════════╡

                │ SPY    ┆ 2025-10-17 ┆ 420.0  ┆ CALL  ┆ 2025-09-19 09:36:06.712 EDT    ┆ 55859949 ┆ 255            ┆ 255            ┆ 255            ┆ 255            ┆ 130       ┆ 1    ┆ 43       ┆ 243.18 │

                └────────┴────────────┴────────┴───────┴────────────────────────────────┴──────────┴────────────────┴────────────────┴────────────────┴────────────────┴───────────┴──────┴──────────┴────────┘

                '
  /option/at_time/quote:
    x-concurrent-limit-ttl-ms: '634'
    x-min-subscription: value
    x-history-access: true
    get:
      summary: Quote
      operationId: option_at_time_quote
      x-codeSamples:
      - lang: Python
        label: pandas
        source: "from thetadata import ThetaClient\nfrom datetime import date\n\nclient = ThetaClient(dataframe_type='pandas')\ndf = client.option_at_time_quote(\n    symbol='AAPL',\n    start_date=date(2024, 11, 4),\n    end_date=date(2024, 11, 4),\n    time_of_day='09:30:01.000',\n    expiration=date(2024, 11, 8),\n)\n"
      - lang: Python
        label: polars
        source: "from thetadata import ThetaClient\nfrom datetime import date\n\nclient = ThetaClient(dataframe_type='polars')\ndf = client.option_at_time_quote(\n    symbol='AAPL',\n    start_date=date(2024, 11, 4),\n    end_date=date(2024, 11, 4),\n    time_of_day='09:30:01.000',\n    expiration=date(2024, 11, 8),\n)\n"
      tags:
      - At-Time
      description: '- Returns the last NBBO quote reported by [OPRA](/Articles/Data-And-Requests/The-SIPs.html) at a specified millisecond of the day.

        - The ``time_of_day``parameter represents the 00:00:00.000 ET that the quote should be provided for.

        - Using a sub-minute ``time_of_day`` (e.g. ``09:30:10.000``) will significantly slow the request and may cause it to hang, particularly when using ``expiration=*``. Use a minute-boundary time (e.g. ``09:30:00.000``) instead.

        '
      x-sample-urls:
      - url: http://127.0.0.1:25503/v3/option/at_time/quote?symbol=AAPL&expiration=20241108&strike=220.000&right=call&start_date=20241104&end_date=20241104&time_of_day=09:30:01.000
        description: Returns the last quote for an option contract
      - url: http://127.0.0.1:25503/v3/option/at_time/quote?symbol=AAPL&expiration=20241108&strike=220.000&right=call&start_date=20241104&end_date=20241104&time_of_day=09:30:01.000&format=html
        description: Click to open in browser (HTML)
      parameters:
      - $ref: '#/components/parameters/single_symbol'
      - $ref: '#/components/parameters/start_date'
      - $ref: '#/components/parameters/end_date'
      - $ref: '#/components/parameters/time_of_day'
      - $ref: '#/components/parameters/expiration'
      - $ref: '#/components/parameters/strike'
      - $ref: '#/components/parameters/right'
      - $ref: '#/components/parameters/max_dte'
      - $ref: '#/components/parameters/strike_range'
      - $ref: '#/components/parameters/format'
      responses:
        '200':
          description: Returns the last quote for an option contract
          content:
            text/csv:
              schema:
                type: array
                items: &id007
                  type: object
                  properties:
                    symbol:
                      type: string
                      description: The symbol of the contract, or stock / underlying asset / option / index.
                    expiration:
                      type: string
                      format: date
                      description: Expiration date of the contract in YYYY-MM-DD format.
                    strike:
                      type: number
                      description: Strike price of the contract in dollars 180.00
                    right:
                      type: string
                      description: Indicates whether the contract is a call or put option.
                    timestamp:
                      type: string
                      format: date-time
                      description: The timestamp in YYYY-MM-DDTHH:mm:ss.SSS format.
                    bid_size:
                      type: integer
                      description: The last NBBO bid size.
                    bid_exchange:
                      type: integer
                      description: The last NBBO bid [exchange](/Articles/Errors-Exchanges-Conditions/Exchanges.html).
                    bid:
                      type: number
                      description: The last NBBO bid price.
                    bid_condition:
                      type: integer
                      description: The last NBBO bid [condition](/Articles/Errors-Exchanges-Conditions/Quote-Conditions.html).
                    ask_size:
                      type: integer
                      description: The last NBBO ask size.
                    ask_exchange:
                      type: integer
                      description: The last NBBO ask [exchange](/Articles/Errors-Exchanges-Conditions/Exchanges.html).
                    ask:
                      type: number
                      description: The last NBBO ask price.
                    ask_condition:
                      type: integer
                      description: The last NBBO ask [condition](/Articles/Errors-Exchanges-Conditions/Quote-Conditions.html).
              example: "symbol,expiration,strike,right,timestamp,bid_size,bid_exchange,bid,bid_condition,ask_size,ask_exchange,ask,ask_condition\r\nAAPL,2024-11-08,220.000,CALL,2024-11-04T09:30:00.91,129,69,3.95,50,14,47,4.10,50\r\n"
            application/json:
              schema: &id008
                type: array
                items: *id007
              example: "{\n  \"response\": [\n    {\n      \"contract\": {\"symbol\":\"AAPL\",\"strike\":220.000,\"right\":\"CALL\",\"expiration\":\"2024-11-08\"},\n      \"data\": [\n        {\"ask_size\":14,\"ask_condition\":50,\"bid_size\":129,\"ask_exchange\":47,\"bid_exchange\":69,\"ask\":4.10,\"bid\":3.95,\"bid_condition\":50,\"timestamp\":\"2024-11-04T09:30:00.91\"}\n      ]\n    }\n  ]\n}\n"
            application/x-ndjson:
              schema: *id008
              example: '{"symbol":"AAPL","ask_size":14,"ask_condition":50,"strike":220.000,"right":"CALL","bid_size":129,"ask_exchange":47,"bid_exchange":69,"ask":4.10,"expiration":"2024-11-08","bid":3.95,"bid_condition":50,"timestamp":"2024-11-04T09:30:00.91"}'
            python/pandas:
              schema: *id008
              example: 'symbol  expiration  strike right                 timestamp  bid_size  bid_exchange  bid  bid_condition  ask_size  ask_exchange  ask  ask_condition

                0    SPY  2025-10-17   420.0  CALL 2025-09-19 09:30:00-04:00         0             5  0.0             50         0             5  0.0             50

                '
            python/polars:
              schema: *id008
              example: 'shape: (1, 13)

                ┌────────┬────────────┬────────┬───────┬────────────────────────────────┬────�

# --- truncated at 32 KB (46 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/thetadata/refs/heads/main/openapi/thetadata-at-time-api-openapi.yml