/api/liq-maxpain
GETAvailable

Liquidation max-pain levels

Liquidation max-pain levels (long and short side)

GET/api/liq-maxpain

Request

Query parameters

NameTypeRequiredDefaultAllowed valuesDescription
symbolstringOptional——Coin symbol; omitted = all.
limitintegerOptional100≤ 200Number of rows to return. Example: 100

Example request

curl -s "https://www.coinboss.com/api/liq-maxpain?limit=100"

Response fields

The field table is generated from real responses, so it lists exactly what the endpoint returns. Paths use a[] for array items and {*} for objects keyed by a dynamic name such as a coin or an exchange.

FieldTypeUnitDescription
successboolean—true when the request succeeded. On failure the body is `{ success: false, code, error, request_id }`.
countnumber—Number of items.
dataarray—Payload.
data[]object—Payload.
data[].symbolstring—Instrument symbol as normalised by CoinBoss (for example BTCUSDT).
data[].pricenumber—Last price in the quote currency (USD or USDT unless stated).
data[].updatedAtnumbermsWhen the data was last updated.
data[].d1object—Max-pain levels from the 1-day liquidation map (positions modelled from the last 24 hourly candles): `long`, `short`, `totalLong`, `totalShort`.
data[].d1.longobject—Long side value.
data[].d1.long.pricenumber—Last price in the quote currency (USD or USDT unless stated).
data[].d1.long.usdnumberUSDValue.
data[].d1.long.distPctnumber%Distance of the long max-pain price from the current `price`: (level − `price`) ÷ `price` × 100; negative because it lies below.
data[].d1.shortobject—Short side value.
data[].d1.short.pricenumber—Last price in the quote currency (USD or USDT unless stated).
data[].d1.short.usdnumberUSDValue.
data[].d1.short.distPctnumber%Distance of the short max-pain price from the current `price`: (level − `price`) ÷ `price` × 100; positive because it lies above.
data[].d1.totalLongnumber—Total long.
data[].d1.totalShortnumber—Total short.
data[].d7object—Max-pain levels from the 7-day liquidation map (last 168 hourly candles, ±18 % price axis); null when that map is unavailable.
data[].d7.longobject—Long side value.
data[].d7.long.pricenumber—Last price in the quote currency (USD or USDT unless stated).
data[].d7.long.usdnumberUSDValue.
data[].d7.long.distPctnumber%Distance of the 7-day long max-pain price from the current `price`: (level − `price`) ÷ `price` × 100; negative because it lies below.
data[].d7.shortobject—Short side value.
data[].d7.short.pricenumber—Last price in the quote currency (USD or USDT unless stated).
data[].d7.short.usdnumberUSDValue.
data[].d7.short.distPctnumber%Distance of the 7-day short max-pain price from the current `price`: (level − `price`) ÷ `price` × 100; positive because it lies above.
data[].d7.totalLongnumber—Total long.
data[].d7.totalShortnumber—Total short.
data[].liqLong24hnumberUSDNotional of long positions actually liquidated in the last 24 hours on all tracked exchanges (recorded liquidation orders, not a model value).
data[].liqShort24hnumberUSDNotional of short positions actually liquidated in the last 24 hours on all tracked exchanges (recorded liquidation orders, not a model value).
data[].oiUsdnumberUSDOpen interest.
data[].volUsdnumberUSDVolume.

Generated 2026-11-11 23:00 UTC from 1 real responses.

Example response

/api/liq-maxpain?limit=100 · Real response captured 2026-11-13 03:42:45 UTC. Long arrays and maps are shortened for display: data had 100 items.

  • {
    • "success": true,
    • "count": 100,
    • "data": [
      • { … 9 },
      • { … 9 }
      ]
    }

Details

Authentication
None. Public endpoint.
Rate limit
1200 requests per minute per IP
Server cache
60s
Edge micro-cache
10s
Update frequency
every 5 min for the top 100 coins; coins ranked 101-300 are refreshed in 5 staggered batches (about every 25 min)
Window
latest model snapshot (derived from the 1 d and 7 d liquidation maps)
Data sources
Model estimate computed in-house from CoinBoss's own hourly futures klines (binance, okx fallback), aggregated open-interest history and collected liquidations.
Exchange coverage
up to 300 crypto coins ranked by futures notional volume, requiring >= 30 liquidation events in the last 7 days; tokenized stocks, commodities, FX and indices are excluded; estimates are model output, not exchange-reported liquidation levels
Pagination
limit (default 100, max 200)
Sorting
vol_usd desc
Units
estimated liquidation notional in USD per price level; prices in USD; timestamps in Unix ms
Method
per coin: price levels with the largest estimated long / short liquidation notional (max pain) from the 1 d and 7 d maps
Timestamps
Unix epoch milliseconds (UTC) unless the field description says otherwise
Response format
json
Stability
Stable

Live status

AvailableChecked 2026-11-13 03:42:45 UTCHTTP 2003 msSchema matchesNewest data point 69s old

Availability, last 30 days

100% of 407 checks passed

Errors

Failed calls share one shape on every endpoint. The full list is on the errors page. Errors and rate limits →

CodeHTTPMeaningWhat to do
INVALID_PARAM400A required parameter is missing or a value is not accepted. `param` names the parameter when it is known.Do not retry unchanged; fix the request.
UNAUTHORIZED401The `CB-API-KEY` header was sent but the key is unknown or revoked. Public data needs no key — drop the header or use a valid key.Do not retry unchanged.
FORBIDDEN403The route is not part of the public API (internal or account-only).Do not retry.
NOT_FOUND404Unknown route, or the requested coin / exchange / fund does not exist.Do not retry; check the path and identifiers against the catalog.
RATE_LIMITED429More requests than the per-minute limit. `Retry-After` gives the seconds to wait.Wait for `Retry-After`, then retry with backoff.
INTERNAL500Unexpected server error. The message is generic by design; quote `request_id` when reporting it.Retry once after a few seconds; report it with the request id if it persists.
UPSTREAM_FAILED503The data source behind this endpoint did not answer in time. No stale or substitute numbers are returned in its place.Retry with backoff; check the status page.
UNAVAILABLE501 / 503The dataset is temporarily not ready (cache warming) or the endpoint has no lawful public source yet.Retry later; the catalog marks endpoints that are unavailable by design.
REQUEST_FAILED200Some older endpoints answer HTTP 200 with `success: false`. Always check `success`, not only the HTTP status.Depends on the message; treat as a failed request.

Try it

GET/api/liq-maxpainAvailable
Parameters

string — Coin symbol; omitted = all.

integer · default 100 · max 200 — Number of rows to return.

Request URLhttps://www.coinboss.com/api/liq-maxpain?limit=100
Choose an endpoint and press “Send request”. The response, headers and timing will appear here.