New
The Intraday Backtester and Otto, your AI agent are now live for every Trading Tools subscriber

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

Live Data API

Best for active traders

$199

/ month

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

Live endpoints need signed data agreements, available at signup.

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 hand back 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 $199 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 walks 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 narrow.
Distribution analytics on a flag
Turn on distribution and every candidate comes back with probability of profit, max gain, max loss, breakevens, and risk. Drift is yours to set, 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 the response keep their shape 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, precomputed by the hundreds of millions. Ask for the best SPY iron condors by return on risk and up to 100 ranked rows come back. Every row carries an id, and that id opens 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 unlocks 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 each pairing holds. Call it first: asking for a combination nobody 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 trim the field before the ranking runs.
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, take the report.

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 runs out 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 headline 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 trade prints for options and stocks, 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 tell where the trade sat in the chain without a second lookup.
Ask for as much tape as you want
Pull a whole chain, one expiration, one strike, or a single OCC symbol. A time window and a minimum size cut it down further, and the stock tape takes the same call shape.
Whole days as files
A day of SPY option prints runs past 1.5 million rows, so whole-day pulls redirect to a compressed file rather than answer inline. The first request for a day builds that file in about 20 seconds; everyone after gets it in 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, drawn 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

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

$99

/ 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

Dividend History

Earnings History

Stock Split History

IV Rank + History

View API docs

Live Data API

Best for active traders

$199

/ 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

Access to all ORATS endpoints

$399

/ 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

FAQ

The APIs, answered.

What do the data API plans cost?

The Delayed Data API is $99 per month with 20,000 requests, the Live Data API is $199 per month with 100,000 requests, and the Live Intraday API is $399 per month with 1,000,000 requests and access to every ORATS endpoint. 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 and stock 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 tape as it builds, 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, $199 for the Intraday Backtester API, and $199 for the Time & Sales API. Take as many as you want on the one subscription.

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 drive the data APIs and the Tools APIs. The ORATS CLI wraps every data API endpoint for Claude Code and Codex if you want a head start.
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.