XOOMAR

Free Open Interest API

Historical open interest data at hourly and daily resolution. Covers 30+ crypto perpetual futures since 2021. The same data sold on Coinglass for $50/month comes from the same Binance archives we use.

Endpoint

GET
/api/markets/open-interest/{slug}?period=1h|1d&from=ISO&to=ISO

Open interest history for a symbol. Defaults to hourly, last 7 days.

Rate Limit

30 req/min/IP

CORS

Open (*)

Auth

None

Examples

curl

curl "https://xoomar.com/api/markets/open-interest/btc?period=1d"

Python

import requests

r = requests.get("https://xoomar.com/api/markets/open-interest/btc", params={"period": "1d"})
for row in r.json()["data"]:
    print(f"{row['ts']}: ${float(row['openInterestValue']):,.0f}")

JavaScript

const res = await fetch("https://xoomar.com/api/markets/open-interest/btc?period=1d");
const { data } = await res.json();
console.log(data.map(r => `${r.ts}: $${Number(r.openInterestValue).toLocaleString()}`));

Honest Limits

  • OI updates hourly. Not real-time tick data.
  • History starts 2021 for most symbols (when Binance Vision archives begin).
  • Covers Binance exchange only for historical data; live snapshots aggregate three exchanges.
  • Long/short ratio available for most symbols but not all.

Main Features

  • Hourly open interest snapshots for 30 symbols across Binance, Bybit, and OKX with history back to 2021.
  • Both contract count and USD notional per row, so you can chart either without conversion guesswork.
  • Global long/short account ratio and top-trader position ratio where the exchange publishes them.
  • Up to 5,000 rows per call with from/to date filters and a 1h/1d period switch.
  • The exact dataset behind our open interest dashboards; what you see on the page is what the API returns.

How It Works

OI is a slow-moving series, so we collect it hourly and keep everything.

1

Hourly collection

At five past every hour a job reads open interest from all three exchanges for every tracked symbol and appends one row per symbol per exchange.

2

Deduplication

A unique index on symbol, exchange, and timestamp makes the job idempotent: re-runs and retries can never double-count.

3

History serving

Queries hit an indexed table holding the full archive since January 2021; date-range queries stay fast at any depth.

Real Example

Request

curl "https://xoomar.com/api/markets/open-interest/btc?period=1d"

Response (captured live, trimmed)

{
  "data": [
    {
      "id": 1341916,
      "symbolId": "b0e79ed5-1f77-4001-959d-941845acfefe",
      "exchange": "binance",
      "ts": "2026-06-12T15:00:00.000Z",
      "openInterest": "98408.77800000",
      "openInterestValue": "6295317778.3158",
      "longShortRatio": "1.538100",
      "topTraderRatio": null
    },
    {
      "id": 1341808,
      "symbolId": "b0e79ed5-1f77-4001-959d-941845acfefe",
      "exchange": "binance",
      "ts": "2026-06-12T14:00:00.000Z",
      "openInterest": "98227.47700000",
      "openInterestValue": "6208659859.4374",
      "longShortRatio": "1.589300",
      "topTraderRatio": null
    }
  ],
  "updatedAt": "2026-06-12T15:08:36.103Z",
  "source": "xoomar.com",
  "docs": "https://xoomar.com/markets/api"
}

openInterest is in contracts, openInterestValue in USD. The ratios are exchange-reported and null where a venue does not publish them.

What People Build With This

OI divergence alerts

Price up while OI falls means short covering, not new money. Compare day-over-day OI with price change to classify rallies.

Liquidation risk maps

Rapid OI build-up at a price level marks where leverage is concentrated, and where cascades start when it unwinds.

Market regime research

Four years of hourly OI is enough to study how leverage cycles lead price cycles. Most sources paywall this depth.

Exchange share tracking

Sum notional OI per venue over time to watch market share shift between Binance, Bybit, and OKX.

Pricing and Fair Use

Free. No API key, no signup, no credit card. We rate limit per IP to keep the service fast for everyone; a 429 response carries a Retry-After header telling you exactly when to retry. Cache responses on your side where you can. If you are building something that needs guaranteed volume, contact us first instead of hammering the endpoint.

Response Shape

Every endpoint returns the same JSON envelope: { data, updatedAt, source, docs }. The data field is an array of records with these fields:

FieldTypeDescription
exchangestringbinance, bybit, or okx
tsstringObservation hour (ISO timestamp)
openIntereststring | nullOpen interest in contracts
openInterestValuestring | nullOpen interest notional in USD
longShortRatiostring | nullGlobal long/short account ratio where available
topTraderRatiostring | nullTop trader long/short positions ratio where available

Query params: period=1h|1d (default 1h), from/to ISO dates. Hourly history goes back to 2021 for the majors. Up to 5000 rows per call.

Numeric values arrive as strings where precision matters (prices, rates); parse with your language's decimal type for accounting-grade math. Rate limiting is fair-use per IP; a 429 response includes a Retry-After header. No authentication, no API key, no signup. Attribution is appreciated: xoomar.com/markets.

Frequently Asked Questions

How far back does OI history go?
Back to January 2021 for major symbols on Binance, sourced from Binance Vision daily archives.
What resolution is available?
Hourly (1h) and daily (1d). Use the period query parameter. Default is hourly for the last 7 days.
Does it include long/short ratio?
Yes, when available. The longShortRatio field gives the global long/short ratio from Binance.
Can I get OI for a specific date range?
Yes. Use the from and to query parameters with ISO date format (YYYY-MM-DD or full ISO timestamp).

Data on this page is provided for informational purposes only and is not financial advice. See our editorial policy.