Skip to content

Open Interest

FreeValueStandardPro

Fetch open interest history for an option contract.

  • Open Interest is normally reported once per day by OPRA at approximately 06:30 ET.
  • A new open interest message might not be sent by OPRA if there is no open interest for the option contract.
  • The reported open interest represents the open interest at the end of the previous trading day.
SPY · 20250321
Client
Auth
Style
from thetadatadx import Client

client = Client.from_env()

rows = client.market_data.option_history_open_interest(
    "SPY", "20250321",
    strike="570", right="C",
)
for t in rows:
    print(t.date, t.open_interest)
Sample response · JSON
[
  {
    "open_interest": 2732,
    "timestamp": "2024-11-04T06:30:04"
  }
]

Parameters

NameTypeRequiredDefaultDescription
symbolstringyesTicker symbol (e.g. AAPL)
expirationdateyesExpiration date YYYYMMDD. Pass * to select all expirations for the underlying (chain-wide; query one date at a time).
strikestringno*Strike price in dollars as a string (e.g. 500 or 17.5). Use * for wildcard selection.
rightstringnobothOption side. Use both or * (alias) for calls and puts. Accepted values: call, put, both, *.
datedatenoSingle date YYYYMMDD. Supply this for a single-day pull, or supply start_date/end_date for a range. When present, date takes precedence over the range.
max_dteintnoMaximum days to expiration
strike_rangeintnoStrike range filter
start_datedatenoStart date YYYYMMDD
end_datedatenoEnd date YYYYMMDD
timeout_msintnoPer-request deadline in milliseconds. 0 means no deadline.

Response

Rows of OpenInterestTick:

FieldTypeDescription
ms_of_dayi32Milliseconds since midnight Eastern Time.
open_interesti32Total outstanding contracts.
datei32Trading date as a YYYYMMDD integer.

Wildcard requests additionally populate expiration (YYYYMMDD), strike (dollars), and right ("C" / "P") on every row to identify the contract; on single-contract requests these are absent (None / null / undefined; the Rust and C rows carry the documented 0 / 0.0 / '\0' fills).

Released under the Apache-2.0 License.