POST /api/v1/options/prices
Tier: point · Delivery: sync
Request
| Field | Type |
|---|---|
underlying_ticker | string |
query_mode | "option_chain" | "near_the_money" | "specific_contract" | "market_summary" |
expiration_date | string |
contract_type | "call" | "put" |
contract_symbol | string |
strikes_above_below | number |
limit | number |
Response
The response is the two-key envelope{ finterm, data }, where data is the finterm.result:OptionsPrices/v1 contract:
| Field | Description |
|---|---|
ticker | The underlying stock ticker symbol, uppercased (e.g. “AAPL”). |
underlying_price | The current price of the underlying stock, in USD, or null. |
query_mode | Which view was requested: “market_summary” (big-picture signals) or one of “option_chain” / “near_the_money” / “specific_contract” (a contract list). |
market_signals | Derived big-picture signals (market_summary mode; null otherwise): implied_move (expected move from the at-the-money straddle), implied_volatility (atm_iv, call_iv_avg, put_iv_avg, skew), put_call_ratio (volume_ratio, open_interest_ratio, interpretation), and highest_open_interest (top call and put strikes by open interest). |
available_expirations | Available expirations (market_summary mode; null otherwise): each with expiration_date, days_to_expiry, and total_contracts. |
contracts | Per-contract list (contract-list modes; null in market_summary): each row carries symbol, contract_type, strike_price, expiration_date, days_to_expiry, bid_price, ask_price, last_price, spread, spread_percent, the greeks (delta, gamma, theta, vega), implied_volatility, open_interest, and volume. |
total_available | Total matching contracts before any display limit (contract-list modes; null otherwise). |