get_options_chain
Retrieve available equity options expiration dates, then fetch a specific chain with strikes, bids/asks, volume, open interest, and implied volatility for pricing or volatility analysis.
Instructions
Equity options data for one underlying, in two modes: call with no expiration_date to LIST every available expiration date; call again with a specific 'YYYY-MM-DD' to get that expiration's chain (strike, bid/ask, last, volume, open interest, implied volatility).
Use for options pricing, implied volatility, or open-interest analysis. option_type selects 'calls', 'puts', or 'both'. Always discover the valid dates first (call with no date) before requesting a chain, since only listed expirations work.
Returns Markdown by default, or JSON when response_format='json'. A ticker with no listed options returns a short message.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock ticker symbol (e.g., 'AAPL', 'SPY', 'TSLA') | |
| option_type | No | Which side of the chain to return: 'calls', 'puts', or 'both' | both |
| expiration_date | No | Options expiration date as 'YYYY-MM-DD'. Leave empty to list all available expiration dates instead. | |
| response_format | No | Output format: 'markdown' for human-readable or 'json' for machine-readable | markdown |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | ||
| puts | No | ||
| calls | No | ||
| ticker | No | ||
| message | No | Set instead of data when there is nothing to return for this request (for example, no dividends on record). | |
| truncated | No | True when only the strikes nearest the underlying price fit. | |
| expirationDate | No | ||
| strikesPerSide | No | ||
| expirationDates | No | Present when no expiration_date was given. | |
| underlyingPrice | No |