Options Chains
Use options routes when you need expiration dates, calls, puts, strikes, last prices, bid/ask, volume, open interest, and implied volatility when available.
Python
import yfin as yf
print(aapl.options)
chain = aapl.option_chain()
print(chain.calls.head())
print(chain.puts.head())
Fetch a specific expiration:
chain = aapl.option_chain("2026-01-16")
TypeScript
import { Client, Ticker } from "@yfin/sdk";
const aapl = new Ticker("AAPL", client);
const chain = await aapl.optionChain({ date: "2026-01-16" });
REST
curl "https://api.yfin.dev/v1/options?symbol=AAPL&date=2026-01-16" \
-H "X-Yfin-Contact: [email protected]"
Common Fields
| Field | Meaning |
|---|---|
expirationDates | Available expiration dates for the symbol. |
calls / puts | Option contract arrays for the selected expiration. |
contractSymbol | Option contract identifier. |
strike | Contract strike price. |
lastPrice | Last traded option price when available. |
bid / ask | Current bid and ask when available. |
openInterest | Open interest when available. |
impliedVolatility | Implied volatility value when available. |
Practical Rules
- Not every symbol has listed options.
- Expiration availability can change.
- Bid/ask and implied volatility can be missing for illiquid contracts.
- For a user-facing picker, load expirations first, then fetch the selected chain.