New
WHAM is now in every Data API plan: see which days the options market is pricing for bigger moves, and how much bigger

Historical Data API

View as Markdown

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

ORATS does not provide stock prices for US equities, ETFs or indexes. The underlying values in our data, live and historical, are derived from option prices using put-call parity and are for internal use only. They are reference prices, not a replacement for real stock prices. For real stock prices, use a different provider.

Base URL:https://api.orats.io/datav2

Strikes History

GEThttps://api.orats.io/datav2/hist/strikes

Retrieves end of day strikes data.

Required attributes

  • Name
    ticker
    Type
    string
    Description

    The ticker to retrieve (multiple tickers should be comma delimited - max of 10 allowed). Ex: AAPL,TSLA

  • Name
    tradeDate
    Type
    string
    Description

    The trade date to retrieve

Optional attributes

  • Name
    fields
    Type
    string
    Description

    The fields to retrieve. Ex: tradeDate,expirDate,strike

  • Name
    dte
    Type
    string
    Description

    Filter by DTE range. Ex: 30,45

  • Name
    delta
    Type
    string
    Description

    Filter by delta range. Ex: .30,.45

GET/datav2/strikes
curl -L "https://api.orats.io/datav2/hist/strikes?token=my-token&ticker=AAPL&tradeDate=2017-08-28"

Response

{
  "data": [
    {
      "ticker": "AAPL",
      "tradeDate": "2017-08-28",
      "expirDate": "2017-09-01",
      "dte": 5,
      "strike": 95,
      "stockPrice": 161.3827,
      "callVolume": 1,
      "callOpenInterest": 0,
      "callBidSize": 30,
      "callAskSize": 2,
      "putVolume": 1,
      "putOpenInterest": 1,
      "putBidSize": 0,
      "putAskSize": 16,
      "callBidPrice": 66.35,
      "callValue": 66.41551094836527,
      "callAskPrice": 66.45,
      "putBidPrice": 0,
      "putValue": 0,
      "putAskPrice": 0.01,
      "callBidIv": 0,
      "callMidIv": 1.9435290391604259,
      "callAskIv": 1.9435290391604259,
      "smvVol": 0.29255660522135446,
      "putBidIv": 0,
      "putMidIv": 1.7233550807894313,
      "putAskIv": 1.7233550807894313,
      "residualRate": -0.0215447947190231,
      "delta": 1.0000000000000133,
      "gamma": 4.021433382502273e-14,
      "theta": -0.008181463093526515,
      "vega": 2.420462435939163e-13,
      "rho": 0.010432658772747985,
      "phi": -0.017728751942058807,
      "driftlessTheta": -2.8188520395807645e-8,
      "extSmvVol": 0.30678671652162315,
      "extCallValue": 66.41551094836588,
      "extPutValue": 0,
      "spotPrice": 161.3827,
      "updatedAt": "2017-08-28T19:46:00Z"
    },
    ...
  ]
}

Strikes History by OPRA

GEThttps://api.orats.io/datav2/hist/strikes/options

Retrieves end of day strikes history data by ticker, tradeDate, expiry, and strike.

Required attributes

  • Name
    ticker
    Type
    string
    Description

    The ticker to retrieve. Ex: AAPL

  • Name
    expirDate
    Type
    string
    Description

    The expire date to retrieve. Ex: 2022-01-21

  • Name
    strike
    Type
    string
    Description

    The strike price to retrieve. Ex: 280

Optional attributes

  • Name
    tradeDate
    Type
    string
    Description

    The trade date to retrieve. Ex: 2019-12-20

GET/datav2/hist/strikes/options
curl -L "https://api.orats.io/datav2/hist/strikes/options?token=my-token&ticker=AAPL&expirDate=2022-01-21&strike=280"

Response

{
  "data": [
    {
      "ticker": "AAPL",
      "tradeDate": "2019-09-16",
      "expirDate": "2022-01-21",
      "dte": 859,
      "strike": 280,
      "stockPrice": 219.89,
      "callVolume": 0,
      "callOpenInterest": 0,
      "callBidSize": 520,
      "callAskSize": 459,
      "putVolume": 0,
      "putOpenInterest": 0,
      "putBidSize": 290,
      "putAskSize": 305,
      "callBidPrice": 13.15,
      "callValue": 15.51,
      "callAskPrice": 17.7,
      "putBidPrice": 69.5,
      "putValue": 71.92,
      "putAskPrice": 74,
      "callBidIv": 0.231313,
      "callMidIv": 0.250226,
      "callAskIv": 0.269139,
      "smvVol": 0.251085,
      "putBidIv": 0.230121,
      "putMidIv": 0.2494,
      "putAskIv": 0.268678,
      "residualRate": -0.002482,
      "delta": 0.33319,
      "gamma": 0.00423848,
      "theta": -0.0179752,
      "vega": 1.19013,
      "rho": 1.29789,
      "phi": -1.62317,
      "driftlessTheta": -0.017109,
      "extSmvVol": 0.251497,
      "extCallValue": 15.5592,
      "extPutValue": 71.9679,
      "spotPrice": 219.89,
      "updatedAt": "2019-09-22T12:25:43Z"
    },
    ...
  ]
}

Implied Monies History

GEThttps://api.orats.io/datav2/hist/monies/implied

Retrieves end of day monthly implied monies history data.

Required attributes

  • Name
    ticker
    Type
    string
    Description

    The ticker to retrieve (multiple tickers should be comma delimited - max of 10 allowed). Ex: AAPL,TSLA

  • Name
    tradeDate
    Type
    string
    Description

    The trade date to retrieve

Optional attributes

  • Name
    fields
    Type
    string
    Description

    The fields to retrieve. Ex: tradeDate,expirDate,calVol

GET/datav2/hist/monies/implied
curl -L "https://api.orats.io/datav2/hist/monies/implied?token=my-token&ticker=AAPL&tradeDate=2019-11-29"

Response

{
  "data": [
    {
      "ticker": "AAPL",
      "tradeDate": "2019-11-29",
      "expirDate": "2020-07-17",
      "stockPrice": 267.65,
      "riskFreeRate": 0.016,
      "yieldRate": 0.00930403,
      "residualYieldRate": -0.00262572,
      "residualRateSlp": -0.00086345,
      "residualR2": 0.00001021,
      "confidence": 0.98959948,
      "mwVol": 0.00301035,
      "vol100": 0.412641,
      "vol95": 0.351561,
      "vol90": 0.31641,
      "vol85": 0.291727,
      "vol80": 0.273611,
      "vol75": 0.260189,
      "vol70": 0.250415,
      "vol65": 0.243444,
      "vol60": 0.23873,
      "vol55": 0.23582,
      "vol50": 0.234329,
      "vol45": 0.233909,
      "vol40": 0.234226,
      "vol35": 0.23494,
      "vol30": 0.235676,
      "vol25": 0.236002,
      "vol20": 0.235339,
      "vol15": 0.232937,
      "vol10": 0.227614,
      "vol5": 0.217252,
      "vol0": 0.207645,
      "typeFlag": 0,
      "atmiv": 0.242681,
      "slope": 3.0936925598,
      "deriv": 0.0754675374,
      "fit": 0.0000239965,
      "spotPrice": 267.65,
      "calVol": 0.24326,
      "unadjVol": 0.217315,
      "earnEffect": 0.025945,
      "quoteDate": "2019-11-29T17:46:01Z",
      "updatedAt": "2019-11-29T17:46:01Z"
    },
    ...
  ]
}

Forecast Monies History

GEThttps://api.orats.io/datav2/hist/monies/forecast

Retrieves end of day monthly forecast monies history data.

Required attributes

  • Name
    ticker
    Type
    string
    Description

    The ticker to retrieve (multiple tickers should be comma delimited - max of 10 allowed). Ex: AAPL,TSLA

  • Name
    tradeDate
    Type
    string
    Description

    The trade date to retrieve

Optional attributes

  • Name
    fields
    Type
    string
    Description

    The fields to retrieve. Ex: tradeDate,expirDate,calVol

GET/datav2/hist/monies/forecast
curl -L "https://api.orats.io/datav2/hist/monies/forecast?token=my-token&ticker=AAPL&tradeDate=2019-11-29"

Response

{
  "data": [
    {
      "ticker": "AAPL",
      "tradeDate": "2019-11-29",
      "expirDate": "2020-04-17",
      "stockPrice": 267.65,
      "riskFreeRate": 0.0163,
      "vol100": 0.371587,
      "vol95": 0.327694,
      "vol90": 0.30461,
      "vol85": 0.288032,
      "vol80": 0.272282,
      "vol75": 0.264817,
      "vol70": 0.258009,
      "vol65": 0.251857,
      "vol60": 0.246363,
      "vol55": 0.241525,
      "vol50": 0.237343,
      "vol45": 0.233819,
      "vol40": 0.230951,
      "vol35": 0.22874,
      "vol30": 0.227186,
      "vol25": 0.226289,
      "vol20": 0.226048,
      "vol15": 0.226464,
      "vol10": 0.227537,
      "vol5": 0.229267,
      "vol0": 0.231653,
      "quoteDate": "2019-11-29T17:46:01Z",
      "updatedAt": "2019-11-29T17:46:01Z"
    },
    ...
  ]
}

Summaries History

GEThttps://api.orats.io/datav2/hist/summaries

Retrieves end of day SMV summary history data.

Required attributes

  • Name
    ticker
    Type
    string
    Description

    The ticker to retrieve (multiple tickers should be comma delimited - max of 10 allowed). Optional if tradeDate is set. Ex: AAPL,TSLA

  • Name
    tradeDate
    Type
    string
    Description

    The trade date to retrieve. Optional if ticker is set. Ex: 2019-11-29

Optional attributes

  • Name
    fields
    Type
    string
    Description

    The fields to retrieve. Ex: tradeDate,exErnIv30d,impliedEarningsMove

GET/datav2/hist/summaries
curl -L "https://api.orats.io/datav2/hist/summaries?token=my-token&ticker=AAPL&tradeDate=2019-11-29"

Response

{
  "data": [
    {
      "ticker": "AAPL",
      "tradeDate": "2019-11-29",
      "stockPrice": 267.65,
      "annActDiv": 3.18088,
      "annIdiv": 2.16866,
      "borrow30": 0.0130476,
      "borrow2y": 0.0130526,
      "confidence": 0.982672,
      "exErnIv10d": 0.17302,
      "exErnIv20d": 0.191041,
      "exErnIv30d": 0.189777,
      "exErnIv60d": 0.203197,
      "exErnIv90d": 0.207576,
      "exErnIv6m": 0.225346,
      "exErnIv1y": 0.219686,
      "ieeEarnEffect": 3.90671,
      "impliedMove": 0.0699168,
      "impliedNextDiv": 0.469247,
      "iv10d": 0.17302,
      "iv20d": 0.191041,
      "iv30d": 0.189777,
      "iv60d": 0.213359,
      "iv90d": 0.23856,
      "iv6m": 0.251482,
      "iv1y": 0.250053,
      "mwAdj30": 0.00263453,
      "mwAdj2y": 0.0058333,
      "nextDiv": 0.77,
      "rDrv30": 0.140255,
      "rDrv2y": 0.0797137,
      "rSlp30": 3.0127,
      "rSlp2y": 3.21896,
      "rVol30": 0.198798,
      "rVol2y": 0.231888,
      "rip": 3.16261,
      "riskFree30": 0.0160534,
      "riskFree2y": 0.0161099,
      "skewing": 0.00991347,
      "contango": 0.5484344903379679,
      "totalErrorConf": 0.0000520262,
      "dlt5Iv10d": 0.179133,
      "dlt5Iv20d": 0.191745,
      "dlt5Iv30d": 0.191127,
      "dlt5Iv60d": 0.210039,
      "dlt5Iv90d": 0.227116,
      "dlt5Iv6m": 0.219043,
      "dlt5Iv1y": 0.22659,
      "exErnDlt5Iv10d": 0.179133,
      "exErnDlt5Iv20d": 0.191745,
      "exErnDlt5Iv30d": 0.191127,
      "exErnDlt5Iv60d": 0.199877,
      "exErnDlt5Iv90d": 0.196132,
      "exErnDlt5Iv6m": 0.192907,
      "exErnDlt5Iv1y": 0.196222,
      "dlt25Iv10d": 0.170224,
      "dlt25Iv20d": 0.185283,
      "dlt25Iv30d": 0.183904,
      "dlt25Iv60d": 0.204507,
      "dlt25Iv90d": 0.225666,
      "dlt25Iv6m": 0.241827,
      "dlt25Iv1y": 0.237379,
      "exErnDlt25Iv10d": 0.170224,
      "exErnDlt25Iv20d": 0.185283,
      "exErnDlt25Iv30d": 0.183904,
      "exErnDlt25Iv60d": 0.194345,
      "exErnDlt25Iv90d": 0.194682,
      "exErnDlt25Iv6m": 0.215691,
      "exErnDlt25Iv1y": 0.207012,
      "dlt75Iv10d": 0.191296,
      "dlt75Iv20d": 0.212173,
      "dlt75Iv30d": 0.212207,
      "dlt75Iv60d": 0.239729,
      "dlt75Iv90d": 0.267796,
      "dlt75Iv6m": 0.265297,
      "dlt75Iv1y": 0.27136,
      "exErnDlt75Iv10d": 0.191296,
      "exErnDlt75Iv20d": 0.212173,
      "exErnDlt75Iv30d": 0.212207,
      "exErnDlt75Iv60d": 0.229566,
      "exErnDlt75Iv90d": 0.236812,
      "exErnDlt75Iv6m": 0.239162,
      "exErnDlt75Iv1y": 0.240992,
      "dlt95Iv10d": 0.217063,
      "dlt95Iv20d": 0.240149,
      "dlt95Iv30d": 0.242073,
      "dlt95Iv60d": 0.273438,
      "dlt95Iv90d": 0.302951,
      "dlt95Iv6m": 0.323779,
      "dlt95Iv1y": 0.349745,
      "exErnDlt95Iv10d": 0.217063,
      "exErnDlt95Iv20d": 0.240149,
      "exErnDlt95Iv30d": 0.242073,
      "exErnDlt95Iv60d": 0.263275,
      "exErnDlt95Iv90d": 0.271967,
      "exErnDlt95Iv6m": 0.297644,
      "exErnDlt95Iv1y": 0.319377,
      "fwd30_20": 0.187224,
      "fwd60_30": 0.234582,
      "fwd90_60": 0.282292,
      "fwd180_90": 0.263771,
      "fwd90_30": 0.259536,
      "fexErn30_20": 0.187224,
      "fexErn60_30": 0.215783,
      "fexErn90_60": 0.21607,
      "fexErn180_90": 0.241813,
      "fexErn90_30": 0.215927,
      "ffwd30_20": 0.184873,
      "ffwd60_30": 0.270233,
      "ffwd90_60": 0.351662,
      "ffwd180_90": 0.283423,
      "ffwd90_30": 0.305744,
      "ffexErn30_20": 0.184873,
      "ffexErn60_30": 0.235405,
      "ffexErn90_60": 0.227656,
      "ffexErn180_90": 0.26926,
      "ffexErn90_30": 0.232192,
      "fbfwd30_20": 0.987445,
      "fbfwd60_30": 1.15198,
      "fbfwd90_60": 1.24574,
      "fbfwd180_90": 1.0745,
      "fbfwd90_30": 1.17804,
      "fbfexErn30_20": 0.987445,
      "fbfexErn60_30": 1.09093,
      "fbfexErn90_60": 1.05362,
      "fbfexErn180_90": 1.11351,
      "fbfexErn90_30": 1.07533,
      "impliedEarningsMove": 0.0440891,
      "updatedAt": "2019-11-29T17:46:01Z"
    }
  ]
}

Core Data History

GEThttps://api.orats.io/datav2/hist/cores

Retrieves end of day core history data.

Required attributes

  • Name
    ticker
    Type
    string
    Description

    The ticker to retrieve (multiple tickers should be comma delimited - max of 10 allowed). Optional if tradeDate is set. Ex: AAPL,TSLA

  • Name
    tradeDate
    Type
    string
    Description

    The trade date to retrieve. Optional if ticker is set. Ex: 2019-11-29

Optional attributes

  • Name
    fields
    Type
    string
    Description

    The fields to retrieve. Ex: tradeDate,slope,contango

GET/datav2/hist/cores
curl -L "https://api.orats.io/datav2/hist/cores?token=my-token&ticker=AAPL&tradeDate=2019-11-29"

Response

{
  "data": [
    {
      "ticker": "AAPL",
      "tradeDate": "2019-11-29",
      "assetType": 3,
      "priorCls": 267.84,
      "pxAtmIv": 267.65,
      "mktCap": 1189240,
      "cVolu": 164999,
      "cOi": 1831571,
      "pVolu": 94247,
      "pOi": 2030053,
      "orFcst20d": 17.427,
      "orIvFcst20d": 19.2787,
      "orFcstInf": 28.97,
      "orIvXern20d": 19.88,
      "orIvXernInf": 23.19,
      "iv200Ma": 22.68,
      "atmIvM1": 19.4298,
      "atmFitIvM1": 18.7732,
      "atmFcstIvM1": 17.6772,
      "dtExM1": 22,
      "atmIvM2": 20.1687,
      "atmFitIvM2": 20.0496,
      "atmFcstIvM2": 20.2257,
      "dtExM2": 50,
      "atmIvM3": 23.8843,
      "atmFitIvM3": 24.0163,
      "atmFcstIvM3": 22.6817,
      "dtExM3": 85,
      "atmIvM4": 23.7352,
      "atmFitIvM4": 23.6142,
      "atmFcstIvM4": 23.3022,
      "dtExM4": 113,
      "iRate5wk": 1.61,
      "iRateLt": 1.61,
      "px1kGam": 5625.28,
      "volOfVol": 0.0623,
      "volOfIvol": 0.0511,
      "slope": 3.0127,
      "slopeInf": 3.21896,
      "slopeFcst": 3.23128,
      "slopeFcstInf": 3.32071,
      "deriv": 0.1403,
      "derivInf": 0.0797,
      "derivFcst": 0.1363,
      "derivFcstInf": 0.0858,
      "mktWidthVol": 0.26345,
      "mktWidthVolInf": 0.58333,
      "cAddPrem": 0,
      "pAddPrem": 0,
      "rip": 3.16261,
      "ivEarnReturn": 0,
      "fcstR2": 0.3736,
      "fcstR2Imp": 0.2809,
      "hiHedge": 0,
      "loHedge": 0,
      "stkVolu": 23960324,
      "avgOptVolu20d": 513798.5,
      "sector": "XLK Electronic Computer Manufacturing42941",
      "orHv1d": 14.07,
      "orHv5d": 15.34,
      "orHv10d": 15.32,
      "orHv20d": 19.45,
      "orHv60d": 20.3,
      "orHv90d": 24.33,
      "orHv120d": 22.76,
      "orHv252d": 26.9,
      "orHv500d": 26.27,
      "orHv1000d": 23.61,
      "clsHv5d": 14.42,
      "clsHv10d": 14.36,
      "clsHv20d": 15.88,
      "clsHv60d": 19,
      "clsHv90d": 24.38,
      "clsHv120d": 22.82,
      "clsHv252d": 28.68,
      "clsHv500d": 27.47,
      "clsHv1000d": 24.47,
      "iv20d": 19.1,
      "iv30d": 18.98,
      "iv60d": 21.34,
      "iv90d": 23.86,
      "iv6m": 25.15,
      "clsPx1w": 261.78,
      "stkPxChng1wk": 2.31,
      "clsPx1m": 243.26,
      "stkPxChng1m": 10.43,
      "clsPx6m": 175.07,
      "stkPxChng6m": 54.03,
      "clsPx1y": 179.55,
      "stkPxChng1y": 51.41,
      "divFreq": 4,
      "divYield": 1.2,
      "divGrwth": 0,
      "divDate": "2020-02-06",
      "divAmt": 0.77,
      "nextErn": "0000-00-00",
      "nextErnTod": 1630,
      "lastErn": "2019-10-30",
      "lastErnTod": 3,
      "absAvgErnMv": 4.25533,
      "impliedIee": 3.90671,
      "daysToNextErn": 0,
      "tkOver": 0,
      "etfIncl": "",
      "bestEtf": "XLK",
      "sectorName": "Technology Hardware & Equipment",
      "correlSpy1m": 0.14,
      "correlSpy1y": 0.93,
      "correlEtf1m": 0.36,
      "correlEtf1y": 0.95,
      "beta1m": 1.67,
      "beta1y": 1.5,
      "ivPctile1m": 62,
      "ivPctile1y": 18,
      "ivPctileSpy": 51,
      "ivPctileEtf": 73,
      "ivStdvMean": -0.7,
      "ivStdv1y": 4.47,
      "ivSpyRatio": 1.72,
      "ivSpyRatioAvg1m": 1.72,
      "ivSpyRatioAvg1y": 1.5,
      "ivSpyRatioStdv1y": 6,
      "ivEtfRatio": 1.31,
      "ivEtfRatioAvg1m": 1.28,
      "ivEtfRatioAvg1y": 1.09,
      "ivEtFratioStdv1y": 5.14,
      "ivHvXernRatio": 1.23,
      "ivHvXernRatio1m": 1.12,
      "ivHvXernRatio1y": 0.83,
      "ivHvXernRatioStdv1y": 2.32,
      "etfIvHvXernRatio": 0.79,
      "etfIvHvXernRatio1m": 0.86,
      "etfIvHvXernRatio1y": 0.94,
      "etfIvHvXernRatioStdv1y": 0.06,
      "slopepctile": 42.06,
      "slopeavg1m": 2.86,
      "slopeavg1y": 3.12,
      "slopeStdv1y": 0.81,
      "etfSlopeRatio": 0.46,
      "etfSlopeRatioAvg1m": 0.43,
      "etfSlopeRatioAvg1y": 0.47,
      "etfSlopeRatioAvgStdv1y": 0.12,
      "impliedR2": 0.4852,
      "contango": 0.55,
      "nextDiv": 0.77,
      "impliedNextDiv": 0.4692,
      "annActDiv": 3.1809,
      "annIdiv": 2.1687,
      "borrow30": 1.3048,
      "borrow2yr": 1.3053,
      "error": 0.0052,
      "confidence": 98.2672,
      "pxCls": 267.84,
      "wksNextErn": 0,
      "ernMnth": 0,
      "oi": 3861624,
      "straPxM1": 10.07,
      "straPxM2": 15.92,
      "smoothStraPxM1": 10.08,
      "smoothStrPxM2": 15.88,
      "fcstStraPxM1": 9.18,
      "fcstStraPxM2": 15.93,
      "loStrikeM1": 267.5,
      "hiStrikeM1": 267.5,
      "loStrikeM2": 270,
      "hiStrikeM2": 270,
      "ernDate1": "10/30/2019",
      "ernDate2": "7/30/2019",
      "ernDate3": "4/30/2019",
      "ernDate4": "1/29/2019",
      "ernDate5": "11/1/2018",
      "ernDate6": "7/31/2018",
      "ernDate7": "5/1/2018",
      "ernDate8": "2/1/2018",
      "ernDate9": "11/2/2017",
      "ernDate10": "8/1/2017",
      "ernDate11": "5/2/2017",
      "ernDate12": "1/31/2017",
      "ernMv1": 2.261,
      "ernMv2": 2.0404,
      "ernMv3": 4.9086,
      "ernMv4": 6.8335,
      "ernMv5": -6.6331,
      "ernMv6": 5.891,
      "ernMv7": 4.4176,
      "ernMv8": -4.339,
      "ernMv9": 2.6114,
      "ernMv10": 4.7251,
      "ernMv11": -0.3051,
      "ernMv12": 6.0981,
      "ernStraPct1": 5.8314,
      "ernStraPct2": 5.328,
      "ernStraPct3": 5.6526,
      "ernStraPct4": 6.8304,
      "ernStraPct5": 7.074,
      "ernStraPct6": 5.2632,
      "ernStraPct7": 5.9725,
      "ernStraPct8": 6.49,
      "ernStraPct9": 5.8054,
      "ernStraPct10": 4.8463,
      "ernStraPct11": 4.2426,
      "ernStraPct12": 4.2901,
      "ernEffct1": 1.7609,
      "ernEffct2": 1.7325,
      "ernEffct3": 2.1662,
      "ernEffct4": 2.253,
      "ernEffct5": 2.1018,
      "ernEffct6": 2.248,
      "ernEffct7": 1.9564,
      "ernEffct8": 1.6666,
      "ernEffct9": 1.1841,
      "ernEffct10": 1.8609,
      "ernEffct11": 1.157,
      "ernEffct12": 2.8252,
      "orHvXern5d": 15.34,
      "orHvXern10d": 15.32,
      "orHvXern20d": 16.11,
      "orHvXern60d": 19.4,
      "orHvXern90d": 23.59,
      "orHvXern120d": 22.11,
      "orHvXern252d": 26.2,
      "orHvXern500d": 25.45,
      "orHvXern1000d": 22.76,
      "clsHvXern5d": 14.42,
      "clsHvXern10d": 14.36,
      "clsHvXern20d": 14.91,
      "clsHvXern60d": 18.92,
      "clsHvXern90d": 24.49,
      "clsHvXern120d": 22.86,
      "clsHvXern252d": 27.68,
      "clsHvXern500d": 25.92,
      "clsHvXern1000d": 22.65,
      "iv10d": 17.3,
      "iv1yr": 25.01,
      "fcstSlope": 3.2313,
      "fcstErnEffct": 1.6929,
      "ernMvStdv": 1.9631,
      "impliedEe": 3.9067,
      "impErnMv": 6.99,
      "impMth2ErnMv": 6.99,
      "fairVol90d": 23.8843,
      "fairXieeVol90d": 24.0163,
      "fairMth2XieeVol90d": 19.9122,
      "impErnMv90d": 3.24,
      "impErnMvMth290d": 2.51,
      "exErnIv10d": 17.3,
      "exErnIv20d": 19.1,
      "exErnIv30d": 18.98,
      "exErnIv60d": 20.32,
      "exErnIv90d": 20.76,
      "exErnIv6m": 22.53,
      "exErnIv1yr": 21.97,
      "dlt5Iv10d": 17.91,
      "dlt5Iv20d": 19.17,
      "dlt5Iv30d": 19.11,
      "dlt5Iv60d": 21,
      "dlt5Iv90d": 22.71,
      "dlt5Iv6m": 21.9,
      "dlt5Iv1y": 22.66,
      "exErnDlt5Iv10d": 17.91,
      "exErnDlt5Iv20d": 19.17,
      "exErnDlt5Iv30d": 19.11,
      "exErnDlt5Iv60d": 19.99,
      "exErnDlt5Iv90d": 19.61,
      "exErnDlt5Iv6m": 19.29,
      "exErnDlt5Iv1y": 19.62,
      "dlt25Iv10d": 17.02,
      "dlt25Iv20d": 18.53,
      "dlt25Iv30d": 18.39,
      "dlt25Iv60d": 20.45,
      "dlt25Iv90d": 22.57,
      "dlt25Iv6m": 24.18,
      "dlt25Iv1y": 23.74,
      "exErnDlt25Iv10d": 17.02,
      "exErnDlt25Iv20d": 18.53,
      "exErnDlt25Iv30d": 18.39,
      "exErnDlt25Iv60d": 19.43,
      "exErnDlt25Iv90d": 19.47,
      "exErnDlt25Iv6m": 21.57,
      "exErnDlt25Iv1y": 20.7,
      "dlt75Iv10d": 19.13,
      "dlt75Iv20d": 21.22,
      "dlt75Iv30d": 21.22,
      "dlt75Iv60d": 23.97,
      "dlt75Iv90d": 26.78,
      "dlt75Iv6m": 26.53,
      "dlt75Iv1y": 27.14,
      "exErnDlt75Iv10d": 19.13,
      "exErnDlt75Iv20d": 21.22,
      "exErnDlt75Iv30d": 21.22,
      "exErnDlt75Iv60d": 22.96,
      "exErnDlt75Iv90d": 23.68,
      "exErnDlt75Iv6m": 23.92,
      "exErnDlt75Iv1y": 24.1,
      "dlt95Iv10d": 21.71,
      "dlt95Iv20d": 24.01,
      "dlt95Iv30d": 24.21,
      "dlt95Iv60d": 27.34,
      "dlt95Iv90d": 30.3,
      "dlt95Iv6m": 32.38,
      "dlt95Iv1y": 34.97,
      "exErnDlt95Iv10d": 21.71,
      "exErnDlt95Iv20d": 24.01,
      "exErnDlt95Iv30d": 24.21,
      "exErnDlt95Iv60d": 26.33,
      "exErnDlt95Iv90d": 27.2,
      "exErnDlt95Iv6m": 29.76,
      "exErnDlt95Iv1y": 31.94,
      "fwd30_20": 18.72,
      "fwd60_30": 23.46,
      "fwd90_60": 28.23,
      "fwd180_90": 26.38,
      "fwd90_30": 25.95,
      "fexErn30_20": 18.72,
      "fexErn60_30": 21.58,
      "fexErn90_60": 21.61,
      "fexErn180_90": 24.18,
      "fexErn90_30": 21.59,
      "ffwd30_20": 18.49,
      "ffwd60_30": 27.02,
      "ffwd90_60": 35.17,
      "ffwd180_90": 28.34,
      "ffwd90_30": 30.57,
      "ffexErn30_20": 18.49,
      "ffexErn60_30": 23.54,
      "ffexErn90_60": 22.77,
      "ffexErn180_90": 26.93,
      "ffexErn90_30": 23.22,
      "fbfwd30_20": 0.987445,
      "fbfwd60_30": 1.15198,
      "fbfwd90_60": 1.24574,
      "fbfwd180_90": 1.0745,
      "fbfwd90_30": 1.17804,
      "fbfexErn30_20": 0.987445,
      "fbfexErn60_30": 1.09093,
      "fbfexErn90_60": 1.05362,
      "fbfexErn180_90": 1.11351,
      "fbfexErn90_30": 1.07533,
      "impliedEarningsMove": 4.41,
      "updatedAt": "2019-11-29T17:46:01Z"
    }
  ]
}

Daily Price

GEThttps://api.orats.io/datav2/hist/dailies

Retrieves end of day daily underlying values (open, high, low and close). ORATS does not provide stock prices; these values are derived from option prices using put-call parity and are for internal use only. They are reference prices, not a replacement for real stock prices. For real stock prices, use a different provider.

Required attributes

  • Name
    ticker
    Type
    string
    Description

    The ticker to retrieve (multiple tickers should be comma delimited - max of 10 allowed). Optional if tradeDate is set. Ex: AAPL,TSLA

  • Name
    tradeDate
    Type
    string
    Description

    The trade date to retrieve. Optional if ticker is set. Ex: 2019-11-29

Optional attributes

  • Name
    fields
    Type
    string
    Description

    The fields to retrieve. Ex: tradeDate,clsPx,open

GET/datav2/hist/dailies
curl -L "https://api.orats.io/datav2/hist/dailies?token=my-token&ticker=AAPL&tradeDate=2019-11-29"

Response

{
  "data": [
    {
      "ticker": "AAPL",
      "tradeDate": "2019-11-29",
      "clsPx": 65.18,
      "hiPx": 65.36,
      "loPx": 64.85,
      "open": 65.02,
      "stockVolume": 47783092,
      "unadjClsPx": 267.25,
      "unadjHiPx": 268,
      "unadjLoPx": 265.9,
      "unadjOpen": 266.6,
      "unadjStockVolume": 11654300,
      "updatedAt": "2023-08-14T23:24:19Z"
    }
  ]
}

Historical Volatility

GEThttps://api.orats.io/datav2/hist/hvs

Retrieves historical volatility data.

Required attributes

  • Name
    ticker
    Type
    string
    Description

    The ticker to retrieve (multiple tickers should be comma delimited - max of 10 allowed). Optional if tradeDate is set. Ex: AAPL,TSLA

  • Name
    tradeDate
    Type
    string
    Description

    The trade date to retrieve. Optional if ticker is set. Ex: 2019-11-29

Optional attributes

  • Name
    fields
    Type
    string
    Description

    The fields to retrieve. Ex: tradeDate,clsPx,open

GET/datav2/hist/hvs
curl -L "https://api.orats.io/datav2/hist/hvs?token=my-token&ticker=AAPL&tradeDate=2019-11-29"

Response

{
  "data": [
    {
      "ticker": "AAPL",
      "tradeDate": "2019-11-29",
      "orHv1d": 7.79,
      "orHv5d": 14.92,
      "orHv10d": 15.04,
      "orHv20d": 15.8,
      "orHv30d": 19.02,
      "orHv60d": 20.13,
      "orHv90d": 24.32,
      "orHv100d": 23.61,
      "orHv120d": 22.72,
      "orHv252d": 26.72,
      "orHv500d": 26.26,
      "orHv1000d": 23.59,
      "clsHv5d": 13.84,
      "clsHv10d": 13.84,
      "clsHv20d": 14.69,
      "clsHv30d": 16.46,
      "clsHv60d": 18.78,
      "clsHv90d": 24.38,
      "clsHv100d": 23.73,
      "clsHv120d": 22.8,
      "clsHv252d": 28.45,
      "clsHv500d": 27.47,
      "clsHv1000d": 24.44,
      "orHvXern5d": 14.92,
      "orHvXern10d": 15.04,
      "orHvXern20d": 15.8,
      "orHvXern30d": 16.86,
      "orHvXern60d": 19.22,
      "orHvXern90d": 23.58,
      "orHvXern100d": 22.89,
      "orHvXern120d": 22.07,
      "orHvXern252d": 26.01,
      "orHvXern500d": 25.44,
      "orHvXern1000d": 22.74,
      "clsHvXern5d": 13.84,
      "clsHvXern10d": 13.84,
      "clsHvXern20d": 14.69,
      "clsHvXern30d": 16.06,
      "clsHvXern60d": 18.68,
      "clsHvXern90d": 24.49,
      "clsHvXern100d": 23.8,
      "clsHvXern120d": 22.83,
      "clsHvXern252d": 27.42,
      "clsHvXern500d": 25.92,
      "clsHvXern1000d": 22.62,
      "updatedAt": "2020-01-03T02:27:23Z"
    }
  ]
}

Earnings History

GEThttps://api.orats.io/datav2/hist/earnings

Retrieves earnings history data.

Required attributes

  • Name
    ticker
    Type
    string
    Description

    The ticker to retrieve. Ex: AAPL

GET/datav2/hist/earnings
curl -L "https://api.orats.io/datav2/hist/earnings?token=my-token&ticker=AAPL"

Response

{
  "data": [
    {
      "ticker": "AAPL",
      "earnDate": "1987-09-25",
      "anncTod": "1630",
      "updatedAt": "2018-01-12T17:31:59Z"
    },
    {
      "ticker": "AAPL",
      "earnDate": "1988-09-30",
      "anncTod": "1630",
      "updatedAt": "2018-01-12T17:31:59Z"
    },
    {
      "ticker": "AAPL",
      "earnDate": "1989-09-29",
      "anncTod": "1630",
      "updatedAt": "2018-01-12T17:31:59Z"
    },
    ...
  ]
}

Stock Split History

GEThttps://api.orats.io/datav2/hist/splits

Retrieves stock split history data.

Required attributes

  • Name
    ticker
    Type
    string
    Description

    The ticker to retrieve. Ex: AAPL

GET/datav2/hist/splits
curl -L "https://api.orats.io/datav2/hist/splits?token=my-token&ticker=AAPL"

Response

{
  "data": [
    {
      "ticker": "AAPL",
      "splitDate": "2014-06-09",
      "divisor": 7
    },
    {
      "ticker": "AAPL",
      "splitDate": "2020-08-31",
      "divisor": 4
    }
  ]
}

IV Rank History

GEThttps://api.orats.io/datav2/hist/ivrank

Retrieves IV rank history data.

Required attributes

  • Name
    ticker
    Type
    string
    Description

    The ticker to retrieve (multiple tickers should be comma delimited - max of 10 allowed). Optional if tradeDate is set. Ex: AAPL,TSLA

  • Name
    tradeDate
    Type
    string
    Description

    The trade date to retrieve. Optional if ticker is set. Ex: 2019-11-29

Optional attributes

  • Name
    fields
    Type
    string
    Description

    The fields to retrieve. Ex: tradeDate,ivRank1m

GET/datav2/hist/ivrank
curl -L "https://api.orats.io/datav2/hist/ivrank?token=my-token&ticker=AAPL&tradeDate=2021-01-20"

Response

{
  "data": [
    {
      "ticker": "AAPL",
      "tradeDate": "2021-01-20",
      "iv": 36.195,
      "ivRank1m": 56.44,
      "ivPct1m": 66.67,
      "ivRank1y": 27.62,
      "ivPct1y": 60.71,
      "updatedAt": "2021-01-21T01:09:52Z"
    }
  ]
}

WHAM HistoryNEW

GEThttps://api.orats.io/datav2/hist/wham

Retrieves past WHAM updates, with the same fields as WHAM in the Delayed Data API. Use it to see what WHAM would have shown before each of your trades, and to test whether your strategy does better on event days or on other days.

Each trading day has eight updates: 09:34, every hour from 10:00 to 15:00, and 15:46, all Eastern. Early-close days have five: 09:34, 10:00, 11:00, 12:00, and 12:46. The 09:34 update is published with the 10:00 update, so it appears only in history. History starts 2022-05-11 for SPX, 2022-08-10 for NDX, 2023-01-04 for SPY and QQQ, 2024-01-11 for RUT, and 2024-04-18 for IWM, and every stored update is computed with the current WHAM method.

With .csv on the path (/datav2/hist/wham.csv), each update is one row with a column for every value except the eventDays and calendar lists, named by its path, such as iv.d1 and today.moveMultiple.

Required attributes

  • Name
    ticker
    Type
    string
    Description

    The ticker to retrieve: SPX, SPY, QQQ, NDX, RUT, or IWM (multiple tickers should be comma delimited). Ex: SPX

  • Name
    tradeDate
    Type
    string
    Description

    The trade date to retrieve. Ex: 2026-09-03

Optional attributes

  • Name
    time
    Type
    string
    Description

    One update, by its Eastern time as HHMM: 0934, 1000, 1100, 1200, 1300, 1400, 1500, or 1546 (on early-close days, 1246 in place of 1300 through 1546). Omit it for every update that day, oldest first. Ex: 1500

  • Name
    fields
    Type
    string
    Description

    The top-level fields to retrieve. A field that holds a group, such as iv or today, comes back whole. Ex: ticker,quoteDate,spot,today,nextSession

Response fields

One object per update, with the same fields as WHAM in the Delayed Data API.

  • Name
    ticker, tradeDate, quoteDate, spot
    Type
    update
    Description

    The underlying, the trading day, the time of the option quotes behind this update (UTC), and the underlying value at that time, derived from option prices using put-call parity and for internal use only. Spot is a reference price, not a replacement for real stock prices. For real stock prices, use a different provider. Multiply any move by spot to get it in points (dollars for SPY, QQQ, and IWM).

  • Name
    iv
    Type
    object
    Description

    WHAM implied volatility over the next 1, 3, 5, 10, and 15 trading days (d1, d3, d5, d10, d15). Weekends and holidays count as only a small part of a day, so you can compare any two expirations directly, including one after a long weekend. Divide by the square root of 365 for a one-day move.

  • Name
    ivExMacro
    Type
    object
    Description

    The same horizons with every event day counted as a normal day. The gap between iv and ivExMacro is what the event days add.

  • Name
    macroShare10d
    Type
    number
    Description

    The share of the next 10 trading days' priced variance that the event days add, as a decimal. The higher it is, the more a two-week position depends on the event days.

  • Name
    contango10d
    Type
    number
    Description

    How much ivExMacro rises from 3 to 10 trading days: ivExMacro.d10 divided by ivExMacro.d3, minus 1. Positive means more movement per day is priced further out once the event days are taken out.

  • Name
    exMacroCurveR2
    Type
    object
    Description

    How closely ivExMacro follows a straight line (line) and a curve (quadratic) across the expirations, from 0 to 1. Near 1 means the event days explain the bumps in iv; lower means some bumps are not on the event list.

  • Name
    today
    Type
    object
    Description

    The rest of today's session. restOfDayMovePct is the move priced from quoteDate to the close, and moveMultiple is that pace as a multiple of a normal day's. moveMultipleMedian is the median moveMultiple at the same time of day over earlier sessions, once there are 60, and moveMultipleSide says whether today is high, low, or even against it.

  • Name
    nextSession
    Type
    object
    Description

    The next trading day: its date, impliedMovePct (the move priced for the whole day), moveMultiple, moveMultipleMedian, and moveMultipleSide as in today, and event, the day's main scheduled release or the closure it follows (null when there is none).

  • Name
    eventDays[].date, daysAhead, label, eventType
    Type
    event day
    Description

    The days options price for a bigger move than a normal day, across the expirations WHAM uses (about the next three weeks for SPX). daysAhead counts trading days until the date. eventType is FOMC, CPI, Jobs (NFP), PCE, ISM, Retail Sales, JOLTS, Powell, or other; label names the release, or the closure the day follows, such as After weekend, and is null when there is neither.

  • Name
    eventDays[].impliedMovePct, priced, typicalMovePct, relevance
    Type
    event day
    Description

    The move priced for the day, and that move as a multiple of a normal day. typicalMovePct is how days of the same type moved over their last 12 occurrences, scaled to the current normal day: a record, not a forecast. relevance is Very high, High, Moderate, or Low.

  • Name
    hv
    Type
    object
    Description

    ORATS realized volatility over the last 1, 5, 10, and 20 trading days (d1, d5, d10, d20), through the close on asOf. It is annualized over 252 trading days, so compare it with iv through impliedVsRealized rather than directly. RUT uses IWM's, marked with proxy.

  • Name
    impliedVsRealized
    Type
    object
    Description

    The daily move priced by iv over the next 5 and 10 trading days, divided by the daily move hv measured over the last 5 and 10. Above 1, options price more movement than the underlying has shown.

  • Name
    calendar[].date, dow, label, timeEt, eventType
    Type
    calendar day
    Description

    Every weekday from tradeDate through 30 days out. Trading days have the day's main release and its time (Eastern, HH:MM). On a day with no release, label names the closure the day follows, such as After weekend, or is null, and timeEt is null. Market holidays have closed, the holiday's name, in place of the release fields, and halfDay is true on early closes.

  • Name
    calendar[].priced, typical, tail, recent, relevance
    Type
    calendar day
    Description

    priced is the day's multiple when it is one of the eventDays, else null. typical is the median move of this type's last 12 occurrences over the median move of the last 250 ordinary days (days with no classified release), and tail is the share of those 12 that moved more than 1.5 times an ordinary day. recent, on the named types only, combines them into one label: active when typical is 1.25 or more or when tail is at least half, otherwise quiet when typical is below 0.85, and normal otherwise. relevance matches eventDays; on a market holiday it is Weekend/holiday adjustment.

GET/datav2/hist/wham
curl -L "https://api.orats.io/datav2/hist/wham?token=my-token&ticker=SPX&tradeDate=2026-09-03&time=1500"

Response

{
  "data": [
    {
      "ticker": "SPX",
      "tradeDate": "2026-09-03",
      "quoteDate": "2026-09-03T19:02:38Z",
      "spot": 7751.45,
      "iv": {
        "d1": 0.1056,
        "d3": 0.1103,
        "d5": 0.1176,
        "d10": 0.1321,
        "d15": 0.1328
      },
      "ivExMacro": {
        "d1": 0.1056,
        "d3": 0.1103,
        "d5": 0.1116,
        "d10": 0.1194,
        "d15": 0.1245
      },
      "macroShare10d": 0.183,
      "contango10d": 0.0825,
      "exMacroCurveR2": {
        "line": 0.9853,
        "quadratic": 0.9865
      },
      "today": {
        "restOfDayMovePct": 0.0009,
        "moveMultiple": 0.43,
        "moveMultipleMedian": 0.73,
        "moveMultipleSide": "low"
      },
      "nextSession": {
        "date": "2026-09-04",
        "impliedMovePct": 0.0059,
        "moveMultiple": 1,
        "moveMultipleMedian": 1.01,
        "moveMultipleSide": "low",
        "event": "Jobs (NFP)"
      },
      "eventDays": [
        {
          "date": "2026-09-11",
          "daysAhead": 5,
          "label": "CPI",
          "eventType": "CPI",
          "impliedMovePct": 0.0079,
          "priced": 1.25,
          "typicalMovePct": 0.0044,
          "relevance": "Very high"
        },
        {
          "date": "2026-09-16",
          "daysAhead": 8,
          "label": "FOMC",
          "eventType": "FOMC",
          "impliedMovePct": 0.0093,
          "priced": 1.4,
          "typicalMovePct": 0.004,
          "relevance": "Very high"
        },
        {
          "date": "2026-09-17",
          "daysAhead": 9,
          "label": "Initial Jobless Claims",
          "eventType": "other",
          "impliedMovePct": 0.0079,
          "priced": 1.16,
          "typicalMovePct": 0.0068,
          "relevance": "Moderate"
        }
      ],
      "hv": {
        "d1": 0.0737,
        "d5": 0.082,
        "d10": 0.0749,
        "d20": 0.0699,
        "asOf": "2026-09-02"
      },
      "impliedVsRealized": {
        "d5": 1.19,
        "d10": 1.47
      },
      "calendar": [
        {
          "date": "2026-09-03",
          "dow": "Thu",
          "label": "ISM",
          "timeEt": "10:00",
          "eventType": "ISM",
          "priced": null,
          "typical": 1.54,
          "tail": 0.58,
          "recent": "active",
          "relevance": "High"
        },
        {
          "date": "2026-09-04",
          "dow": "Fri",
          "label": "Jobs (NFP)",
          "timeEt": "08:30",
          "eventType": "Jobs (NFP)",
          "priced": null,
          "typical": 1.23,
          "tail": 0.33,
          "recent": "normal",
          "relevance": "Very high"
        },
        {
          "date": "2026-09-07",
          "dow": "Mon",
          "closed": "Labor Day",
          "relevance": "Weekend/holiday adjustment"
        },
        {
          "date": "2026-09-08",
          "dow": "Tue",
          "label": "After Labor Day",
          "timeEt": null,
          "eventType": "other",
          "priced": null,
          "typical": 1,
          "tail": 0.34,
          "relevance": "Low"
        },
        {
          "date": "2026-09-09",
          "dow": "Wed",
          "label": "10-Year Note Auction",
          "timeEt": "13:00",
          "eventType": "other",
          "priced": null,
          "typical": 1,
          "tail": 0.34,
          "relevance": "Low"
        },
        ...
      ]
    }
  ]
}
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.