MARKETS & FINANCE
Coinglass Liquidation Heatmap
Crypto liquidation data from Coinglass: per-event liquidations (exchange, symbol, side, USD size, price, time) over 1h/4h/12h/24h windows with exchange, symbol and threshold filters, plus…
About this data
Crypto liquidation data from Coinglass: per-event liquidations (exchange, symbol, side, USD size, price, time) over 1h/4h/12h/24h windows with exchange, symbol and threshold filters, plus per-exchange long/short heatmap buckets. Optional Telegram alerts. Snapshot per run.
From the actor’s Apify Store listing. The per-call endpoint may return a bounded subset; its own description is below.
Buy per call over x402
One endpoint at api.ssh.autos. Each call is one JSON POST, paid in USDC with no account or API key, and answered in the same HTTP response.
POST /v1/crypto/coinglass/liquidations
Read one public source page and filter up to its newest 100 raw events to the last hour, then return at most ten matching liquidations: exchange, symbol, side, USD size, price and event time.
Optional exchange, symbol and USD-floor filters apply to this bounded sample.
The one-page limit restricts coverage of the hour.
Alerts, Telegram, aggregate buckets and stored state are excluded.
Input
Send a JSON body to POST https://api.ssh.autos/v1/crypto/coinglass/liquidations.
| Field | Type | Required | Notes |
|---|---|---|---|
exchanges | array of strings | optional | up to 3 items |
symbols | array of strings | optional | up to 3 items |
minUsd | number | optional | 0–1000000000; default 0 |
maxResults | integer | optional | 1–10; default 10 |
Returned fields
The answer is JSON: records, a list of up to 10, and summary, the run status and counts. Each record has these 16 fields; a field the source does not publish comes back null.
16 fields per record
| Field | Type | Notes |
|---|---|---|
recordKey | string | Events: liq:{exchange}:{symbol}:{turnoverTimeMs}:{side}:{usd}. Buckets: liq-bucket:{exchange|All}:{side}:{window}. |
source | string | always coinglass-capi |
kind | string | one of liquidation_event, liquidation_bucket |
exchange | string | Venue name as reported by the feed (Binance, OKX, Bybit ...); buckets use All for the market-wide row. |
symbol | string | Base asset (BTC, ETH) — null on buckets. |
pair | string | Venue-native pair (BTCUSDT) — null on buckets. |
side | string | long = long positions liquidated (forced sells), short = short positions liquidated (forced buys). one of long, short, unknown |
window | string | The run's lookback window the record belongs to. one of 1h, 4h, 12h, 24h |
valueUsd | number | Event: liquidation size in USD (volUsd). Bucket: summed USD of the side in the window. |
quantity | number | Event: base-asset quantity. Bucket: summed base quantity across events (mixed assets — compare within a symbol, not across). |
price | number | Event: liquidation price. Null on buckets. |
eventCount | integer | Bucket only: number of events behind the bucket. Null on events. |
eventTime | string | Event: liquidation time (ISO, from turnoverTime). Null on buckets. |
coveredSeconds | integer | Bucket only: span between oldest and newest event aggregated — the honest coverage when the server retains less than the requested window. Null on events. |
sourceUrl | string | — |
collectedAt | string | — |
Example call
npx agentcash@latest fetch https://api.ssh.autos/v1/crypto/coinglass/liquidations -m POST -b '{"maxResults": 5}'
The example values come from the API spec or the actor’s own sample input. Running it is a paid call.
What is and isn’t charged
You pay the call price for
- An answer, including a definitive “not found” or an empty result.
- Confirmed no matches returns records: [] (charged: it is an answer).
Free
- Invalid input (422), busy (503), source failure (502), timeout (504) and calls whose client hung up are never charged.
- Invalid input and source failures are not charged.
Prefer a subscription? Run it on Apify
This data source is a public actor on the Apify Store: Coinglass Liquidation Heatmap Scraper. Run it with your Apify account and plan for larger, scheduled or exported runs; it may offer more input options than the per-call endpoint.
How x402 payment works
- Your client sends the request. The API answers
402 Payment Requiredwith the price and where to pay. - The client pays from its own wallet: USDC on Base or Solana over x402, or over MPP on Tempo. No account, sign-up or API key.
- The client retries with the payment attached and gets the JSON answer in the same call. You are only charged for answers.
The AgentCash CLI in the example does all three steps for you and pays from your AgentCash wallet. Any x402 or MPP client works the same way.
Machine-readable: openapi.json · llms.txt