Skip to main content
GET
Put/call ratio
OI-weighted put/call ratio - the most-asked-for single sentiment indicator from options data. PCR > 1 means more put OI than call OI (typically defensive / fear bid); PCR < 1 means call-heavy (typically risk-on). Two granularities:
  • ?granularity=intraday (default) - rolling series at roughly a five-minute cadence. Use for live dashboards.
  • ?granularity=daily - one value per UTC day where the daily rollup is available. That rollup is not currently populated, so this falls back to the intraday series and reports granularity: "intraday-fallback" in meta.extra. Check that field rather than assuming daily buckets.

Window

?days=N (1 to 365, default 30) bounds both granularities.
Before 2.8.1 days was accepted on the intraday branch and silently ignored, so a request for a week received the entire stored series regardless. It now genuinely bounds the window. meta.extra reports points_available and points_returned so a trimmed series is visible rather than assumed complete.

Per-venue breakdown

exchange_breakdown gives call and put open interest per venue for every point in the series. It is roughly four fifths of the payload, so as of 2.8.1 it is opt-in:
Breaking in 2.8.1. The intraday response previously included exchange_breakdown by default, which made it about 2.5 MB. If you read that field, add ?include=exchange_breakdown to restore it. Everything else is unchanged.

See also

OI by expiry

OI history

Premium tide

Authorizations

X-API-Key
string
header
required

Your BackQuant API key (same key as v1)

Headers

X-API-Key
string | null

Query Parameters

symbol
enum<string>
default:BTCUSDT

Trading symbol: BTCUSDT, ETHUSDT, SOLUSDT, or HYPEUSDT.

Available options:
BTCUSDT,
ETHUSDT,
SOLUSDT,
HYPEUSDT
granularity
enum<string>
default:intraday

intraday returns the rolling intraday series; daily returns one row per UTC day.

Available options:
intraday,
daily
days
integer
default:30

Trim window in days. Applies to BOTH granularities: intraday was previously served in full regardless of this value.

Required range: 1 <= x <= 365
include
string | null

Optional sections: exchange_breakdown (per-venue call/put OI for every point). Omitted by default because it is roughly four fifths of the payload and is rarely read.

Response

Successful Response