New
The Tools APIs are now live: option scanning, backtest search, intraday backtesting, and time & sales over REST

Options Data API

Get live, delayed, and historical end-of-day options data back to 2007 augmented with hundreds of proprietary indicators.

15+
Years of data
5,000+
Symbols
500+
Indicators
ORATS data quality is superbly better than others in the market, with Greeks and other volatility fields in the API.

Former Microsoft engineer, multi-year client, February 2026

Delayed Data API

Perfect for getting started

$199

/ month

Includes:

  • 20,000 requests per month
  • Tickers
  • Strikes + Near EOD History
  • Strikes by OPRA + Near EOD History
  • Monies Implied + Near EOD History
  • Monies Forecast + Near EOD History
  • SMV Summaries + Near EOD History
  • Core Data + Near EOD History
  • Daily Price
  • Historical Volatility
  • Earnings History
  • Stock Split History
  • IV Rank + History

Add Tools APIs:

NEW

Get all this with an Options Data API subscription

History

Query end-of-day data for any option imaginable.

All US equity options including stocks, ETFs, and indexes.

30+ tickers for component weighted averages.

Full history dating back to 2007.

Strikes

Get high quality bid ask quotes and greeks.

Gathered 14 minutes before the close to avoid wide spreads.

Cleaned using our Smoothed Market Values system.

Includes ORATS theoretical price value estimate.

Core Data

Track over 100 indicators for every stock.

Correlations and ratios between components and ETFs.

Historical volume and pre/post earnings price moves.

Proprietary ORATS forecasts of implied volatility and slope.

Volatility Data

Measure volatility under any circumstance.

Historical stock intraday volatility vs close-to-close.

IV rank and percentiles for the last month and year.

Skewness and kurtosis indicators for the implied volatility surface.

Indicators

Over 500 proprietary indicators ride along with the data, from implied volatility forecasts to earnings move history.

Tools APIs

The tools in the dashboard, as APIs you can call.

The Option Scanner, Options Backtester, Intraday Backtester, and Time and Sales all run on engines inside the ORATS dashboard. These four APIs call those same engines and return what the dashboard renders: ranked candidates, stored backtest results, minute-level backtest reports, and trade prints with greeks. Each one is a flat monthly add-on to the data plan you already have, $99 or $299 depending on the API.

5,000+
scannable symbols
300M+
backtests searchable
1-min
bars since Oct 2020
Tick-level
prints since Sep 2022

Option Scanner API

One POST scans every symbol you list.

Describe a strategy once: the legs, the delta and DTE bands, the strike widths between legs. List the symbols in the same body and the scanner scans their live or delayed chains and ranks what it finds. Every candidate comes back with pricing, greeks, probability of profit, and risk metrics.

The dashboard's strategy JSON
The body is the same strategy definition the dashboard builds. Symbols go in general.symbols, then one entry per leg with a delta target, its min and max band, a DTE band, and leg relations for strike widths. Scanning more symbols takes longer, so start with a few symbols.
Distribution analytics on a flag
Turn on distribution and every candidate comes back with probability of profit, max gain, max loss, breakevens, and risk. You set the drift, so you can run the same scan under a bullish or a bearish assumption.
Live or delayed feeds
Set dataSource to real-time or delayed quotes. The request and response formats are the same either way, so switching feeds is a one-word change.
zsh · ~/quant/scanner
# long-call.json · 20-45 DTE band, 0.30Δ target
$ curl -X POST -d @long-call.json \
-H "Authorization: $ORATS_TOKEN" \
-H "Content-Type: application/json" \
"https://api.orats.io/scanner/scan?v=2"
[{
"ticker": "AAPL",
"stockPrice": 327.33,
"mid": 4.2,
"iv": 27.6,
"delta": 0.27,
"pop": 17.82,
"maxGain": 4577.38,
"maxLoss": -420,
"breakEvens": [349.2],
"legs": [ …strikes, expirations, greeks ]
}]

Backtest Finder API

300 million backtests, already run.

Fifteen strategies, 300 million precomputed backtests. Ask for the best SPY iron condors by return on risk and up to 100 ranked rows come back. Every row has an id, and that id returns the full record: summary stats, monthly returns, the trade log, daily returns.

zsh · ~/quant/finder
$ curl -L -H "Content-Type: application/json" \
"https://api.orats.io/backtest-finder/performance?token=$ORATS_TOKEN" \
-d '{
"ticker": "SPY",
"strategy": "IronCondor",
"rank": "bestReturnOnRisk"
}'
# up to 100 ranked rows · each id returns full results
[{
"rank": 1,
"id": "0185013a…06d0d7ed",
"delta1Target": 0.12,
"dte1Target": 45,
"entrySma": "below50d",
"exitProfit": "25",
"exitStopLoss": "-75",
"annualReturn": 4.14,
"sharpe": 8.16,
"maxDrawDown": -0.13
}, …99 more rows ]
Start from the catalog
One GET returns every ticker, the strategies precomputed for it, and how many backtests exist for each pairing. Call it first: asking for a combination that was never precomputed returns a 500.
Composite or raw-metric rankings
Rank by bestReturnOnRisk, or by a raw metric like sharpe, sortino, annualReturn, or maxDrawDown. Metric bands filter the rows before ranking.
Match today's market
Send a currentEnvironment object with today's VIX, SMA, RSI, IV percentile, and slope, and you get back only the backtests whose entry triggers would fire right now.

Intraday Backtester API

Submit a job, poll it, fetch the results.

This is the engine behind the dashboard’s intraday mode. It checks your entries, exits, stops, and profit targets against every one-minute bar back to October 2020, which is why it runs as a job rather than a single request. Two weeks on one symbol usually finishes in under a minute.

0DTE-native inputs
Entries and exits are clock times. DTE starts at 1, so a same-day expiration is simply DTE 1 and the band goes up to 30. SPX AM and PM expirations both work.
Slippage and commissions included
You set the slippage as a fraction of the spread paid on each side and the commission per contract per leg. A bad-price filter drops entries whose markets are too wide to trade, at 5% of strike and 15% of mid unless you say otherwise.
The whole report back
A status poll returns progress and the main stats while the job runs. The results call returns the summary, monthly and daily returns, and a trade log with per-leg entry and exit times and the reason each trade closed.
zsh · ~/quant/intraday
# 1 · submit the job
$ curl -X POST -d @qqq-0dte-condor.json \
-H "Content-Type: application/json" \
"https://api.orats.io/backtests/intraday?token=$ORATS_TOKEN"
{ "backtestId": "aapg5gmoqs1r" }
# 2 · poll until it completes
$ curl -L -G "https://api.orats.io/backtests/intraday/status" \
-d token=$ORATS_TOKEN -d id=aapg5gmoqs1r
{
"status": "completed",
"progress": 100,
"annSharpe": 0.64
}
# 3 · pull the full report
$ curl -L -G "https://api.orats.io/backtests/intraday" \
-d token=$ORATS_TOKEN -d id=aapg5gmoqs1r
{
"summary": { "StratWinRate": 81.0, "TotStratTrades": 1156, … },
"monthly": […],
"trades": […],
"dailyReturns": […]
}

Time & Sales API

Every print, with its greeks attached.

Tick-level option trade prints, live and back to September 9, 2022. Ask for a whole chain or one contract on a given trade date, narrow it to a window of the session, and drop anything under the size you care about.

zsh · ~/quant/tape
# SPY chain · first 30 minutes · blocks of 100+
$ curl -L -G "https://api.orats.io/datav2/hist/time-sales/option" \
-d token=$ORATS_TOKEN -d tradeDate=2026-07-15 \
-d ticker=SPY -d from=09:30 -d to=10:00 -d minSize=100
{ "data": [{
"symbol": "SPY260814C00760000",
"eventEstTime": "2026-07-15 09:30:00",
"price": 9.41,
"size": 252,
"aggressorSide": "BUY",
"stockPrice": 754.24,
"delta": 0.4586,
"gamma": 0.01539,
"iv": 0.129
}, …1,662 more prints ]}
Greeks joined to every print
Every option print arrives with delta, gamma, implied volatility, and the underlying stock price, joined from the ORATS one-minute greeks snapshot for that minute. You can see how far in or out of the money the trade was without a second lookup.
A whole chain or one contract
Pull a whole chain, one expiration, one strike, or a single OCC symbol. A time window and a minimum size narrow it further.
Whole days as files
A day of SPY option prints exceeds 1.5 million rows, so whole-day pulls redirect to a compressed file rather than return the rows inline. The first request for a day builds that file in about 20 seconds; later requests take about two. Add .csv to the path for CSV instead of JSON.

Examples

See them in the dashboard.

Every screen below is one of these API responses, rendered by the ORATS dashboard.

Option Scanner APIRanked candidates with adjustable rank weightsOpen the tool
Option Scanner results in the ORATS dashboard: ranked trades with strikes, expiration, price, and adjustable rank weightings for D%, S%, reward-to-risk, and POP%
Backtest Finder APIThe top 100 SPY iron condors, rankedOpen the tool
The Backtest Finder table in the ORATS dashboard: the top 100 of 1.65 million SPY iron condor backtests ranked by return on risk, with inputs, entry and exit triggers, and performance columns
Intraday Backtester APIA submitted job's summary and equity curveOpen the tool
Intraday backtest results in the ORATS dashboard: annual return, Sharpe ratio, max drawdown stat chips above the equity curve of the strategy versus the stock
Intraday Backtester APIThe trades array, rendered as the trade logOpen the tool
The intraday backtest trade log in the ORATS dashboard: per-trade entry and exit times, prices, and exit reasons
Time & Sales APITrade prints with greeks and the flow summaryOpen the tool
Time and Sales in the ORATS dashboard: SPY dollar-delta by minute and premium summary above the trade prints table, with legs, contracts, strategy, trade price, mid at trade, fill vs mid, and SMV for each print

API Pricing

Pick a data plan, then check off the Tools APIs you want at checkout. They all run on the same token.
Individual
Institution

Delayed Data API

Perfect for getting started

$199

/ month

Add Tools APIs:

NEW

Includes:

20,000 requests per month

Tickers

Strikes + Near EOD History

Strikes by OPRA + Near EOD History

Monies Implied + Near EOD History

Monies Forecast + Near EOD History

SMV Summaries + Near EOD History

Core Data + Near EOD History

Daily Price

Historical Volatility

Earnings History

Stock Split History

IV Rank + History

View API docs

Live Data API

Best for active traders

$299

/ month

Add Tools APIs:

NEW

Everything in Delayed Data API, plus:

100,000 requests per month

Live Strikes

Live Strikes by Expiry

Live Strikes by OPRA

Live Monies Implied

Live Monies Forecast

Live SMV Summaries

Expiration Dates

Note that to access the live endpoints, you must first sign the live data agreements (available after signup).

View API docs

Live Intraday API

Every data endpoint, down to the minute

$599

/ month

Add Tools APIs:

NEW

Everything in Live Data API, plus:

1,000,000 requests per month

Intraday Strikes Chain

Intraday Strikes Chain History

Intraday Strikes by OPRA

Intraday Strikes by OPRA History

Intraday Monies Implied

Intraday Monies Implied History

Intraday SMV Summaries

Intraday SMV Summaries History

Note that to access the live endpoints, you must first sign the live data agreements (available after signup).

View API docs

All-In API

Access to all ORATS endpoints

$1,395Save $496 / month

$899

/ month

Tools APIs included:

NEW

Every ORATS API in one subscription:

1,000,000 requests per month

Tickers

Strikes + Near EOD History

Strikes by OPRA + Near EOD History

Monies Implied + Near EOD History

Monies Forecast + Near EOD History

SMV Summaries + Near EOD History

Core Data + Near EOD History

Daily Price, Earnings, and Split History

Historical Volatility and IV Rank + History

Live Strikes, by Expiry, and by OPRA

Live Monies Implied and Forecast

Live SMV Summaries and Expiration Dates

Intraday Strikes Chain + History

Intraday Strikes by OPRA + History

Intraday Monies Implied + History

Intraday SMV Summaries + History

End-of-day history back to 2007

One-minute history back to August 2020

Option Scanner API: ranked trade candidatesNEW

Backtest Finder API: 300M+ precomputed backtestsNEW

Intraday Backtester API: custom one-minute backtestsNEW

Time & Sales API: tick-level prints with greeksNEW

Note that to access the live endpoints, you must first sign the live data agreements (available after signup).

View API docs

FAQ

The APIs, answered.

What do the data API plans cost?

The Delayed Data API is $199 per month with 20,000 requests, the Live Data API is $299 per month with 100,000 requests, the Live Intraday API is $599 per month with 1,000,000 requests and every data endpoint, and the All-In API is $899 per month with access to every ORATS endpoint plus all four Tools APIs. Each plan includes everything in the plans below it.

How far back does the data go?

End-of-day history goes back to 2007 for over 5,000 symbols and comes with every plan. One-minute intraday history goes back to August 2020 on the Live Intraday plan, and tick-level time and sales starts September 9, 2022 with the Time & Sales add-on.

How do I get live data?

The live and intraday endpoints require the live data agreements, available to sign right after signup. The delayed endpoints work immediately and run 15 minutes behind the market.

Do you offer a free trial?

We do not offer free trials at this time. To evaluate the data first, download the historical samples at ORATS University, and every docs page shows real requests with real responses.

How do I track my API usage?

Your token, current usage, and monthly limit are in the API console in the dashboard, under the same email you signed up with. We also email you when you reach 50%, 75%, 90%, and 100% of your monthly limit.

What are the Tools APIs?

Four REST APIs that run the same engines as the ORATS dashboard's Option Scanner, Options Backtester, Intraday Backtester, and Time and Sales. The data APIs give you options data to compute against. The Tools APIs give you the computed answer: ranked trade candidates, stored backtest results, minute-level backtest reports, and trade prints with greeks on them.

Is there an API for the ORATS backtester and option scanner?

Yes to both, and they are live today as add-ons to any data API plan. The Backtest Finder API searches the 300M+ precomputed backtests behind the Options Backtester and returns full results for any row. The Option Scanner API runs the same scans the dashboard scanner runs. The Intraday Backtester API submits custom 1-minute backtest jobs, and the Time & Sales API serves tick-level trade prints.

How do I authenticate?

With the ORATS token you already have. It covers every data API and Tools API on your subscription. Where it goes differs: the Option Scanner API reads an Authorization header holding the raw token with no Bearer prefix, and the Backtest Finder, Intraday Backtester, and Time & Sales APIs read a token query parameter. Each API's docs say which.

How far back does the Time & Sales API go?

Option prints start September 9, 2022. You query by trade date and narrow from there by contract, time of day, and minimum print size. The live endpoints serve the current session's prints as they occur, and every option print, live or historical, carries delta, gamma, implied volatility, and the underlying stock price from the ORATS one-minute greeks snapshot.

What do the Tools APIs cost?

Each one is a flat monthly add-on to any ORATS data API subscription: $99 for the Option Scanner API, $99 for the Backtest Finder API, $299 for the Intraday Backtester API, and $299 for the Time & Sales API. Take as many as you want on the one subscription, or get all four with the $899 per month All-In API plan.

Do I need a Trading Tools subscription?

No. The Tools APIs attach to a data API plan and bill separately from the $99 per month Trading Tools dashboard subscription. That dashboard subscription is what you want if you would rather click these tools than call them.

Can my AI agent use these?

Yes. It is all plain HTTPS and JSON, so anything that can run curl can call the data APIs and the Tools APIs. The ORATS CLI wraps every data API and Tools API endpoint for Claude Code and Codex if you would rather not write the HTTP calls yourself.
Contact Us
Questions about the API requirements? Want to become an affiliate? Curious about the backtester? Leave us a message and we'll get back to you shortly.
Your email
Your message
Submit
ORATS University
ORATS University
Master the art of options
Research
Implementation
Risk
Review
The opinions and ideas presented herein are for informational and educational purposes only and should not be construed to represent trading or investment advice tailored to your investment objectives. You should not rely solely on any content herein and we strongly encourage you to discuss any trades or investments with your broker or investment adviser, prior to execution. None of the information contained herein constitutes a recommendation that any particular security, portfolio, transaction, or investment strategy is suitable for any specific person. Option trading and investing involves risk and is not suitable for all investors. For more information please see our disclaimer.
Interactive Brokers is not affiliated with Option Research & Technology Services, LLC and does not endorse or recommend any information or advice provided by Option Research & Technology Services, LLC.