Options
šØ Important:SF_OPTIONS_PRO() requires an active Options subscription. If you only have access to the standard options dataset, use SF_OPTIONS() instead or upgrade on our Pricing page.
SF_OPTIONS_PRO() is the advanced SheetsFinance options function for pulling full OPRA chains with greeks, expiration discovery, historical snapshots, contract and strike time-series, IV analytics, volatility surfaces, earnings analytics, and IV rank data from one consistent function signature.
If you are new to the function, start here. This page covers the general setup, explains what each parameter does, and helps you choose the right dataset page for your workflow.
=SF_OPTIONS_PRO(symbol, dataType, expirationDate, strike, tradeDate, endDate, metrics, options)Tips:
Use the Function Generator in Google Sheets and/or Excel for an interactive way to build your
SF_OPTIONS_PRO()function, allowing you to explore all parameters, metrics, and options with tooltips and descriptions.Check out the Detailed Dataset Pages below for in-depth guides on each dataset with specific parameter advice, example formulas, and sample outputs.
What You Can Pull
The SF_OPTIONS_PRO() is a powerful multi-purpose function that can return a wide variety of options data depending on how you set the parameters. Here are some of the key datasets and workflows you can access:
ā Pull full calls, puts, or combined chains with greeks and detailed contract metadata.
ā Discover currently available or historically available expiration dates.
ā Dynamically query by OCC symbol or combinations of expiration date, strike, type and historical trade date.
ā Pull historical chain snapshots or a contract-level time-series across a date range.
ā Access 20+ years of historical options data including expired contracts and backfilled greeks.
ā Analyze IV periods, term structure, full volatility surfaces, and surface forecasts.
ā Measure earnings-related options expectations and implied move metrics.
ā Run current or historical IV rank workflows for one symbol or batch them over a watchlist.
Parameters
Symbol (symbol)
symbol is usually the underlying ticker symbol, for example "AAPL". For direct contract-level workflows, you can also use a full OCC contract symbol such as "AAPL251219C00200000". For batched "ivRank" requests, symbol can also be a range of cells.
Data Type (dataType)
dataType chooses which options dataset you want back.
"calls""puts""calls&puts""expirationDates""ivPeriods""surface""surfaceForecast""earnings""ivRank"
If you enter "strikes", it aliases to "calls&puts".
Expiration Date (expirationDate)
Use expirationDate when your request targets a specific expiry. This is commonly used for chains, contract lookups, historical chains, and surface requests. Use YYYY-MM-DD format, an Excel date serial, or a date-formatted Google Sheets cell.
Strike (strike)
Use strike for contract-level lookups when you are not passing a full OCC contract symbol. Leave it blank for full chain outputs, expiration discovery, and non-contract datasets like "ivRank", "earnings", or "surface".
Trade Date (tradeDate)
tradeDate switches the request from a current snapshot to a historical one. This is the key parameter for backtesting and point-in-time analysis.
For chain requests, it returns the historical snapshot for that date.
For
"expirationDates", it returns the expirations that were available on that historical date.For IV and IV Rank workflows, it lets you request a past snapshot instead of the current one.
End Date (endDate)
endDate is optional and is used when you want a historical range instead of a single historical snapshot. This is most relevant for contract-level time-series, IV Periods Time-series, and IV Rank Time-series workflows.
Metrics (metrics)
metrics selects which fields to return. Leave it blank or use "all" to return the full dataset for that dataType, or chain together specific fields with &.
Examples:
"contractSymbol&strike&mid&delta&vega""tradeDate&iv&ivRank1m&ivRank1y""expiration&atmIv&fwd30Iv"
Options (options)
options controls output formatting and request modifiers. Available options depend on the dataset, but common examples include:
"NH"for no header row"-"for reversed output orderrequest modifiers such as
"range=ntm","groupBy=expiration", or"changeType=mid"on supported datasets
Quick Start Examples
Full calls and puts chain for the next available expiration
=SF_OPTIONS_PRO("AAPL", "calls&puts")Full chain for a specific expiration with selected greeks
=SF_OPTIONS_PRO("AAPL", "calls", "2026-10-16", "", "", "", "contractSymbol&strike&mid&impliedVolatility&delta&gamma&theta&vega")Historical available expiration dates
=SF_OPTIONS_PRO("AAPL", "expirationDates", "", "", "2022-04-03")Historical contract or strike time-series
=SF_OPTIONS_PRO("AAPL", "calls", "2026-10-16", 200, "2024-01-02", "2024-03-01", "tradeDate&mid&delta&impliedVolatility")Current IV Rank snapshot
=SF_OPTIONS_PRO("AAPL", "ivRank")Common Workflows
I want the next available chain with greeks
Start with Chains & Contracts.
I want to know which expirations existed on a historical date
Use Expiration Dates with tradeDate.
I want a full historical chain snapshot for one old trading day
Use Historical Chains.
I want a contract or strike across a historical range
Use Contract & Strike Time-series.
I want volatility term structure and IV period analytics
Use IV Periods or IV Periods Time-series.
I want a full volatility surface or forecast surface
Use Surface or Surface Forecast.
I want event and earnings-related options analytics
Use Earnings.
I want IV Rank for one symbol, a time-series, or a batch list
Use IV Rank, IV Rank Time-series, or IV Rank Batch.
Detailed Dataset Pages
Related Functions
Use
SF_OPTIONS()for the standard options chain dataset.See Available Functions for the full SheetsFinance function list.