Skip to content

Option Endpoints

ThetaDataDx provides 34 typed endpoints for option market data, organized into five categories.

Contract Identification

Option contracts are identified by four parameters:

ParameterDescriptionExample
symbolUnderlying ticker"SPY"
expirationExpiration date (YYYYMMDD)"20241220"
strikeStrike price in dollars as string"500" ($500.00)
rightCall or put"C" or "P"

Wildcard queries: Pass "0" for expiration, strike, and/or right to fetch data across multiple contracts. Each returned tick carries contract identification fields (expiration, strike, right) so you can determine which contract it belongs to. See Options & Greeks for usage examples.

Endpoint Categories

List (5 endpoints)

Discover available symbols, expirations, strikes, dates, and contracts.

Snapshot (9 endpoints)

Latest point-in-time data for a contract.

History (16 endpoints)

Historical time series data for a contract.

At-Time (2 endpoints)

Data at a specific time of day across a date range.

Streaming (Rust only)

Streaming variants (*_stream) use per-chunk callbacks and are available in the Rust SDK only. Other languages use the non-streaming equivalents which return complete result sets.

rust
tdx.option_history_trade_stream(
    "SPY", "20240419", "500", "C", "20240315",
    |chunk| { Ok(()) }
).await?;

tdx.option_history_quote_stream(
    "SPY", "20240419", "500", "C", "20240315", "0",
    |chunk| { Ok(()) }
).await?;

Released under the Apache-2.0 License.