Skip to main content

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

aapl = yf.Ticker("AAPL", contact="[email protected]")

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 client = new Client({ contact: "[email protected]" });
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

FieldMeaning
expirationDatesAvailable expiration dates for the symbol.
calls / putsOption contract arrays for the selected expiration.
contractSymbolOption contract identifier.
strikeContract strike price.
lastPriceLast traded option price when available.
bid / askCurrent bid and ask when available.
openInterestOpen interest when available.
impliedVolatilityImplied 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.