CuteMarkets Docs

API Reference

Everything you need to integrate market data, build faster, and scale.

Docs

Tip: open /docs/options-volume-open-interest.md directly for raw markdown (easy copy/paste into an LLM).

Options volume and open interest are related, but they are not the same signal. Volume counts activity during a session. Open interest is the number of open contracts after prior clearing and assignment effects. A scanner that treats them as interchangeable will overstate what it knows.

Use this guide with the Unusual Options Activity Scanner, Unusual Options Activity Scanner Model, Option Chain docs, Options Chain API, Options Open Interest API, and Options Trades docs.

Definitions

TermMeaningCommon mistake
Contract volumeSame-day printed activity for one option contractCalling every print new positioning
Open interestExisting open contracts after prior clearingTreating OI as intraday live positioning
Volume/OI ratioSame-day volume divided by existing open interestReading it as guaranteed opening activity
PremiumOption price times volume times contract multiplierAssuming large premium reveals buyer intent
Notional premiumEstimated capital exposure in a contract rowIgnoring bid/ask and spread quality
OI update lagOpen interest normally updates after the closeExpecting intraday OI to reflect every print

The Options Chain Scanner Architecture doc explains how these fields fit into broader chain-ranking logic.

Why volume alone is weak

Volume is a reasonable first filter because inactive contracts are rarely worth a closer look. But raw volume can be misleading:

  • cheap far-OTM contracts can trade many tickets with little capital
  • liquid ETF contracts can show high volume every day
  • earnings weeks can inflate activity across many strikes
  • rolls and spreads can create large prints without simple directional intent
  • a row can have volume but no tight current quote

For a scanner, volume is a prompt. It says "look here." It does not say "this is informed buying."

Why open interest matters

Open interest gives a baseline. A contract with 20,000 volume and 200,000 open interest may be busy but ordinary. A contract with 2,000 volume and 50 open interest may be more interesting because the activity is large relative to the prior open position base.

That does not prove new exposure. Open interest is not a same-second field. It can reflect opening, closing, assignment, exercise, clearing, and end-of-day update mechanics. A careful scanner labels volume/OI pressure as an attention signal, not as a fact about intent.

Use Options Flow False Positives when a high volume/OI ratio needs caveats.

Volume/OI pressure

Volume/OI pressure normalizes activity across contracts. It helps compare a busy SPY weekly with a smaller single-stock contract, but it should be paired with DTE, moneyness, premium, and quote quality.

Volume/OI patternPossible interpretationFollow-up check
High volume, high OIActive contract with existing crowdingCheck premium, spread, and trade concentration
High volume, low OIFresh-looking activity or thin contractCheck bid/ask, price, and whether OI updates next day
Low volume, high OIDormant crowded strikeCheck whether it is a legacy position or hedge
Low volume, low OIThin contractUsually reject unless the event context is strong

The Options Chain API and Option Chain docs are the first place to inspect these fields together.

Premium context

Premium gives volume an economic scale. A contract with 500 volume at $12.00 represents a very different row from 20,000 contracts at $0.02.

Estimate:

bash
estimated_premium = contract_volume * option_price * 100

Use midpoint when available, but keep the quote context visible. A midpoint estimate is cleaner when the bid/ask spread is tight. If the spread is wide, the premium estimate can overstate how cleanly the contract could be traded.

Pair this with Historical Options Quotes API, Quotes, and Options Slippage Modeling when a scanner result turns into research.

DTE and moneyness

The same volume/OI ratio means different things at different expirations and strikes.

  • 0DTE and 1DTE contracts can show large activity from event hedging, gamma management, or lottery-ticket speculation.
  • 7DTE and 21DTE contracts often mix tactical flow and short-term positioning.
  • 45DTE and longer contracts may reflect structures, hedges, or volatility positioning.
  • Far-OTM contracts can look exciting while having weak probability and poor liquidity.
  • ATM contracts may have stronger price sensitivity but more routine activity.

Keep DTE, strike, underlying price, delta, IV, and moneyness visible. The Options Expiration Data Workflow, Options Greeks API, and Options Implied Volatility API pages support that context.

Trade tape follow-up

After a scanner flags a contract, use trades to inspect activity and quotes to inspect market quality. Trades answer what printed. Quotes answer what bid/ask market was available. They should stay separate.

Follow-up sequence:

  1. Select the OCC ticker from the chain row.
  2. Pull trades for the alert window.
  3. Pull quotes for the same window.
  4. Compare prints against bid, ask, midpoint, and spread percent.
  5. Record whether the row remains inspectable after quote-quality filters.

This keeps unusual activity from becoming a screenshot-only signal.

Terms to store in dashboards

For production dashboards and scanners, store:

  • volume
  • open_interest
  • volume_oi_ratio
  • estimated_premium
  • expiration_date
  • dte
  • strike
  • contract_type
  • delta
  • implied_volatility
  • bid
  • ask
  • midpoint
  • spread_percent
  • quote_age
  • last_trade_price
  • last_trade_timestamp
  • scanner_score
  • reject_reason

Those fields create a defensible bridge between Unusual Options Activity, Options Liquidity Scanner, Quote vs Trade Timeline, and Options Backtesting API.

Related pages

Terminology

Terms to keep straight on this page

Market-data APIs use similar words for different objects. These links keep the docs page connected to the precise CuteMarkets workflow and related reference material.

OPRA-originating data

The listed-options source context behind quotes, trades, participant records, exchange context, and consolidated option-market data.

SIP and direct feed

Market-data delivery paths that explain where consolidated equities and options records originate before a normalized API returns them.

Quote, trade, aggregate

Three different price semantics: executable bid/ask market, printed transaction, and bar-level summary.

Quote/trade condition

The sale condition, quote condition, exchange id, correction, sequence, and timestamp context attached to market-data rows.

Contract identity

The OCC symbol, expiration, strike, side, root, and reference data needed to preserve the exact option being studied.

Entitlement gate

A plan-aware check that prevents live, quote, WebSocket, or historical behavior from being implied when the product does not include it.

Access method

The delivery mode for data, such as REST request, WebSocket stream, historical window, flat file, or local cache.

Backfill window

A timestamp-bounded REST request used to repair or complete data after a stream gap, retry, deploy, or cache miss.

Session label

A premarket, regular, after-hours, closed, half-day, holiday, or unknown tag attached to a market-data timestamp.

Data-quality reject

A logged reason for skipping a candidate because required contracts, quotes, timestamps, pagination, or entitlements failed policy.

Commercial-use boundary

The product, plan, display, redistribution, and customer-facing use context that must be reviewed before shipping market data.

Adjusted option deliverable

The changed deliverable or contract terms that can appear after splits, mergers, special dividends, or other corporate actions.

Next steps

Move from the docs into the product workflow

If you are evaluating the API rather than implementing a specific endpoint right now, the product pages map live and historical workflows for stocks, options, and WebSockets.