Skip to main content
Press ⌘K to search

Market sentiment (CBOE)

CBOE market-sentiment gauges — the put/call ratio history and the VIX daily OHLC series. Both are market-wide series ordered by date, most recent first.

/v1/market/put-call-ratios

Returns the CBOE total equity put/call ratio history — daily call volume, put volume, total volume, and the resulting put/call ratio — ordered by date, most recent first. type selects which CBOE series you get; the default is the equity ratio, so the same date reads differently on Total (which folds in index and ETP options).

Parameters: type (Total, Equity, Index, Vix, or Etp; default Equity); startDate, endDate (yyyy-MM-dd); limit (rows per page, max 500), offset (rows to skip for paging).

curl "https://api.equibles.com/v1/market/put-call-ratios?limit=2" \
  -H "Authorization: Bearer eq_your_api_key"
import requests
r = requests.get(
    "https://api.equibles.com/v1/market/put-call-ratios?limit=2",
    headers={"Authorization": "Bearer eq_your_api_key"},
)
print(r.json())
const res = await fetch("https://api.equibles.com/v1/market/put-call-ratios?limit=2", {
  headers: { Authorization: "Bearer eq_your_api_key" },
});
console.log(await res.json());
{
  "data": [
    {
      "date": "2026-07-10",
      "callVolume": 3027527,
      "putVolume": 1673293,
      "totalVolume": 4700820,
      "putCallRatio": 0.55
    },
    {
      "date": "2026-07-09",
      "callVolume": 2408403,
      "putVolume": 1371710,
      "totalVolume": 3780113,
      "putCallRatio": 0.57
    }
  ],
  "meta": {
    "limit": 2,
    "offset": 0,
    "count": 2,
    "hasMore": true
  }
}

/v1/market/vix

Returns the CBOE VIX daily OHLC series (from 1990) — the open, high, low, and close of the volatility index for each trading day — ordered by date, most recent first.

Parameters: startDate, endDate (yyyy-MM-dd); limit (rows per page, max 500), offset (rows to skip for paging).

curl "https://api.equibles.com/v1/market/vix?limit=2" \
  -H "Authorization: Bearer eq_your_api_key"
import requests
r = requests.get(
    "https://api.equibles.com/v1/market/vix?limit=2",
    headers={"Authorization": "Bearer eq_your_api_key"},
)
print(r.json())
const res = await fetch("https://api.equibles.com/v1/market/vix?limit=2", {
  headers: { Authorization: "Bearer eq_your_api_key" },
});
console.log(await res.json());
{
  "data": [
    {
      "date": "2026-07-13",
      "open": 16.32,
      "high": 17.41,
      "low": 16.03,
      "close": 17.16
    },
    {
      "date": "2026-07-10",
      "open": 16.06,
      "high": 16.16,
      "low": 14.96,
      "close": 15.03
    }
  ],
  "meta": {
    "limit": 2,
    "offset": 0,
    "count": 2,
    "hasMore": true
  }
}

Try it with a real key

Every example on this page runs against the live API. A free account includes an API key and MCP access — set up in under a minute.

Get your free API key