Twelve Data makes it simple and intuitive to access the options data for the US symbols. Both sides: call and put are supported.
Step 1. Select option expiration dates
/options/expiration
endpoint returns a listing of all available option expiration dates for a specific symbol. Here is an example for AAPL:
https://api.twelvedata.com/options/expiration?symbol=AAPL&apikey=your_api_key
{
"meta": {
"symbol": "AAPL",
"name": "Apple Inc",
"currency": "USD",
"exchange": "NASDAQ",
"exchange_timezone": "America/New_York"
},
"dates": [
"2021-11-05",
"2021-11-12",
"2021-11-19",
"2021-11-26",
"2021-12-03",
"2021-12-10",
"2021-12-17",
"2022-01-21",
"2022-02-18",
"2022-03-18",
"2022-04-14",
"2022-05-20",
"2022-06-17",
"2022-09-16",
"2023-01-20",
"2023-03-17",
"2023-06-16",
"2023-09-15",
"2024-01-19"
]
}
Step 2. Get the contract information
Once the expiration dates are known, it's time to request the contract information. /options/chain
endpoint requires expiration_date or option_id (if known) parameters.
The output shows all listed puts, calls, their expiration, strike prices, and pricing information for a single underlying asset within a given maturity period.
https://api.twelvedata.com/options/chain?symbol=AAPL&expiration_date=2022-05-20&apikey=your_api_key
The output has been truncated for demonstrations purposes.
{
"meta": {
"symbol": "AAPL",
"name": "Apple Inc",
"currency": "USD",
"exchange": "NASDAQ",
"exchange_timezone": "America/New_York"
},
"calls": [
{
"contract_name": "AAPL Option Call 20-05-2022 150",
"option_id": "AAPL220520C00150000",
"last_trade_date": "2021-10-29 15:51:56",
"strike": 150,
"last_price": 12.2,
"bid": 0,
"ask": 0,
"change": 0,
"percent_change": 0,
"volume": 1179,
"open_interest": 0,
"implied_volatility": 0.0004982763671875,
"in_the_money": false
}
],
"puts": [
{
"contract_name": "AAPL Option Put 20-05-2022 140",
"option_id": "AAPL220520P00140000",
"last_trade_date": "2021-10-29 15:29:24",
"strike": 140,
"last_price": 8.02,
"bid": 0,
"ask": 0,
"change": 0,
"percent_change": 0,
"volume": 426,
"open_interest": 0,
"implied_volatility": 0.015634843750000002,
"in_the_money": false
}
]
}
Options are available starting with the Pro plan and can be accessed only via API.