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