Contracts
FreeValueStandardPro
List all option contracts for a symbol on a given date.
Lists all contracts that were traded or quoted on a particular date.
If the symbol parameter is specified, the returned contracts will be filtered to match the symbol. Multiple symbols can be specified by separating them with commas such as symbol=AAPL,SPY,AMD This endpoint is updated real-time.
rust
pub fn option_list_contracts(
&self,
request_type: &str,
symbol: &str,
date: &str,
) -> OptionListContractsBuilder<'_>Optional parameters chain on the builder: .max_dte(i32). Execute with .await → Result<Vec<OptionContract>, Error>, or decode chunk-by-chunk with .stream(handler).
Example
rust
let rows = tdx.option_list_contracts("trade", "SPY", "20250303").await?;
for t in &rows {
println!("symbol={} expiration={} strike={} right={}", t.symbol, t.expiration, t.strike, t.right);
}Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
request_type | string | yes | — | Request type. Accepted values: trade, quote, eod, ohlc. |
symbol | string | yes | — | Ticker symbol (e.g. AAPL) |
date | date | yes | — | Date YYYYMMDD |
max_dte | int | no | — | Maximum days to expiration |
timeout_ms | int | no | — | Per-request deadline in milliseconds. 0 means no deadline. |
Response
Rows of OptionContract:
| Field | Type | Description |
|---|---|---|
symbol | string | Underlying symbol of the contract. |
expiration | i32 | Expiration date of the contract as a YYYYMMDD integer. |
strike | f64 | Strike price of the contract in dollars. |
right | string | Contract right: 'C' for a call, 'P' for a put. |