XOOMAR

Free Crypto Liquidation API

Live liquidation data from OKX, Gate.io and HTX: 24h totals, the long and short split, hourly buckets and individual large liquidation events.

Endpoints

GET
/api/markets/liquidations

24-hour summary: totalUsd, longUsd, shortUsd, maxSingleUsd, the 24 hourly buckets (hourly: hour, longUsd, shortUsd, count) and the ten most liquidated contracts (topSymbols: symbol, longUsd, shortUsd, totalUsd, count).

GET
/api/markets/liquidations/recent?symbol=BTCUSDT&exchange=okx&side=long&minUsd=100000&limit=500

Individual liquidation events, newest first: the last 100 by default, up to 500. Filter by contract (as the exchange names it; BTC alone matches BTCUSDT), exchange (okx, gate, htx), side (long or short) and a minimum notional. Fields: id, rawSymbol, side, price, qty, usdValue, exchange, ts. Individual events are kept 90 days.

GET
/api/markets/liquidations/history?symbol=BTCUSDT&from=2026-07-01&to=2026-07-31&limit=5000

Hourly totals, oldest first: every contract summed per hour by default (the newest 168 hours), or one contract with symbol; from and to (ISO dates or datetimes) select the window, limit caps the hours at 5,000. Fields: hour, symbol (when filtered), longUsd, shortUsd, totalUsd, count, maxSingleUsd. History starts on 3 July 2026; the free API returns the last six months.

GET
/api/markets/liquidations/csv

Hourly totals as CSV.

Examples

curl

curl https://xoomar.com/api/markets/liquidations

Python

import requests

r = requests.get("https://xoomar.com/api/markets/liquidations")
data = r.json()["data"]
print(f"24h Total: ${data['totalUsd']:,.0f}")
print(f"  Longs: ${data['longUsd']:,.0f}")
print(f"  Shorts: ${data['shortUsd']:,.0f}")

Main features

  • Liquidation events from OKX, Gate.io and HTX as they happen. Binance is not included.
  • 24h totals with the long and short split and the largest single liquidation of the period.
  • Hourly totals per contract are kept permanently; individual events for 90 days.
  • Per-symbol hourly buckets show when forced selling or buying clustered.
  • Coverage from 3 July 2026 onward.

Example

Request

curl "https://xoomar.com/api/markets/liquidations/recent?symbol=BTC&minUsd=100000&limit=2"

Response, live at 2026-10-20 14:48 UTC, trimmed

{
  "data": [
    {
      "id": 3172058,
      "rawSymbol": "BTCUSDT",
      "side": "short",
      "price": "83297.45321739",
      "qty": "7.84180000",
      "usdValue": "653201.9686",
      "exchange": "gate",
      "ts": "2026-10-20T14:15:08.000Z"
    },
    {
      "id": 3171430,
      "rawSymbol": "BTCUSDT",
      "side": "short",
      "price": "82990.00000000",
      "qty": "2.34240000",
      "usdValue": "194395.7760",
      "exchange": "okx",
      "ts": "2026-10-20T14:10:08.414Z"
    }
  ],
  "updatedAt": "2026-10-20T14:48:40.355Z",
  "source": "xoomar.com",
  "docs": "https://xoomar.com/markets/api",
  "license": "https://xoomar.com/terms",
  "attribution": "Credit XOOMAR with a link to the dataset page on xoomar.com when you republish this data",
  "meta": {
    "source": "OKX, Gate.io, HTX",
    "sourceAttribution": "Liquidation data: OKX, Gate.io and HTX.",
    "notice": "10 requests a minute without a key, 30 with a free key. Get a free key at https://xoomar.com/signup?utm_source=api, register your app at https://xoomar.com/developers/register?utm_source=api, and credit the data as \"Data: XOOMAR\" together with the sourceAttribution line."
  }
}

A long liquidation is a forced sale (the long was closed); a short liquidation is a forced buy. Prices and quantities are strings, as the exchanges send them; usdValue is price times quantity.

What people build with it

Spike alerts

Alert when an hour's liquidation total passes your own multiple of its recent average.

Long and short split

The split shows which side was forced out in each hour, per contract or across the market.

Volatility research

The history endpoint gives the hourly series per contract, to line up with your own price data.

Microstructure studies

Per-symbol hourly buckets show when forced flows clustered in each contract.

Fair use

No key needed to start. A 429 response carries a Retry-After header in seconds; cache responses on your side where you can. Need more volume? Write to info@xoomar.com.

Response shape

Every endpoint returns the same JSON envelope: { data, updatedAt, source, docs, license, attribution, meta }. In meta, source names who publishes the data and sourceAttribution is the credit line to show with it. The data field is an object with these fields:

FieldTypeDescription
periodstringAggregation window, currently 24h
totalUsdnumberTotal liquidated notional in USD over the period
longUsdnumberLiquidated long positions in USD (forced sales)
shortUsdnumberLiquidated short positions in USD (forced buys)
maxSingleUsdnumberLargest single liquidation in the period
hourlyarray24 buckets: hour (ISO), longUsd, shortUsd, count
topSymbolsarrayTen most liquidated contracts: symbol, longUsd, shortUsd, totalUsd, count

This is the summary endpoint. /recent returns individual events (id, rawSymbol, side, price, qty, usdValue, exchange, ts) and /history the hourly totals (hour, symbol, longUsd, shortUsd, totalUsd, count, maxSingleUsd). Coverage starts 3 July 2026; individual events are kept 90 days.

Numeric fields typed string in the table carry exact decimals; parse them with your language's decimal type. No key needed to start: 10 requests a minute per IP without a key and 30 a minute with a free account key, with at least six months of history. A 429 response carries a Retry-After header in seconds. Credit XOOMAR with a link to the dataset page when you republish the data; the data terms are on the terms page.

A free account key raises the limit; send it in an X-API-Key header.

Frequently Asked Questions

Where does liquidation data come from?
OKX, Gate.io and HTX. Binance is not included.
How far back does history go?
Individual events are kept for 90 days (/recent). Hourly totals (/history) start on 3 July 2026; the free API returns the last six months.
Is there a WebSocket API?
No. Poll /recent with a minUsd filter no more than once a minute, or use /history for the hourly series.
How often is data updated?
Events appear within about a minute; hourly totals are final shortly after each hour ends.

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