/api/sd/liquidity/history
GETSebagianFRESH

Riwayat kedalaman order book

Deret waktu kedalaman bid dan ask agregat dalam satu rentang untuk satu koin, untuk semua bursa yang tercakup atau satu bursa. Setiap titik menyatakan jumlah kontrak yang dimuatnya.

GET/api/sd/liquidity/history
Cakupan sebagian. Pengumpulan dimulai pada 2026-11-11, sehingga rentang yang lebih panjang terisi secara bertahap. Bucket yang hilang tidak dicantumkan, bukan diinterpolasi; perubahan `n_included` di antara dua titik berarti himpunan kontrak yang berkontribusi berubah.

Permintaan

Parameter kueri

NamaTipeWajibDefaultNilai yang diizinkanDeskripsi
coinstringWajib——Simbol koin, tidak peka huruf besar/kecil (misalnya `BTC`). Nilai yang tidak diisi atau salah format mengembalikan 400. Contoh: BTC
marketstringOpsionalperpperp, spotJenis pasar. Order book perpetual dan spot tidak pernah dijumlahkan.
bandstringOpsional10.5, 1, 2Jarak dari harga tengah dalam persen.
rangestringOpsional24h24h, 7d, 30dRentang waktu ke belakang: 24h (titik 30 menit), 7d (titik 2 jam), atau 30d (titik 6 jam).
exchangestringOpsional——Satu ID bursa yang dicakup untuk pasar ini (misalnya `gate`). Default: semua bursa. Bursa yang tidak dicakup mengembalikan 400.

Contoh permintaan

curl -s "https://www.coinboss.com/api/sd/liquidity/history?coin=BTC"

Kolom respons

Tabel kolom dihasilkan dari respons nyata, sehingga memuat persis apa yang dikembalikan endpoint. Path memakai a[] untuk item array dan {*} untuk objek yang kuncinya berupa nama dinamis seperti koin atau bursa.

KolomTipeSatuanDeskripsi
successboolean—true jika permintaan berhasil. Jika gagal, body-nya adalah `{ success: false, code, error, request_id }`.
schemastring—ID skema respons ini. ID hanya berubah jika kolom yang sudah ada berubah makna atau tipe.
nownumbermsWaktu server saat respons disusun.
coinstring—Simbol koin (huruf besar).
marketstring—`perp` atau `spot`.
band_pctnumber%Rentang yang dipilih: jarak dari harga tengah.
rangestring—Rentang waktu ke belakang yang diterapkan.
exchangestring|null—ID bursa (huruf kecil).
interval_snumbersJarak antartitik.
pointsarray—Titik deret, yang terlama lebih dulu.
points[]object—Titik deret, yang terlama lebih dulu.
points[].tnumbermsAwal bucket waktu.
points[].bid_depth_usdnumberUSDNosional bid terpasang antara harga tengah dan tepi bawah rentang. Merupakan batas bawah jika `complete` bernilai false.
points[].ask_depth_usdnumberUSDNosional ask terpasang antara harga tengah dan tepi atas rentang. Merupakan batas bawah jika `complete` bernilai false.
points[].n_includednumber—Baris yang dimasukkan ke jumlah kedalaman: segar dan lengkap untuk rentang tersebut. Baca bersama nilai kedalaman.
points[].n_rowsnumber—Baris yang ditemukan, termasuk yang usang.
points[].midnumberUSD(bid terbaik + ask terbaik) ÷ 2, harga satu koin.
points[].uses_aggregated_bucketsboolean—True jika baris yang disertakan memakai bucket agregat harga, sehingga jumlahnya menjadi batas bawah.
points_expectednumber—Jumlah titik yang dimuat rentang tersebut jika lengkap.
first_tnumbermsWaktu titik pertama yang dikembalikan.
last_tnumbermsWaktu titik terakhir yang dikembalikan.
exchange_pointsobject—Jumlah titik tempat setiap bursa muncul (kuncinya adalah ID bursa). kunci dinamis: deribit,aster,backpack,bitfinex,bitget,bitunix
exchange_points.{*}number—Jumlah titik tempat setiap bursa muncul (kuncinya adalah ID bursa).
coverageobject—Apa yang termasuk dan tidak termasuk dalam angka-angka ini. Bandingkan ini terlebih dahulu sebelum membandingkan total dengan sumber lain.
coverage.included_exchangesarray—Sumber yang data segarnya disertakan.
coverage.included_exchanges[]string—Sumber yang data segarnya disertakan.
coverage.unavailablearray—Sumber yang tidak dapat disertakan, masing-masing dengan alasannya. Sumber tersebut tidak pernah dihitung sebagai 0. kosong pada sampel yang dipakai untuk menghasilkan tabel ini
coverage.stale_excludedarray—Baris yang tidak dimasukkan karena pembaruan terakhirnya berada di luar jendela kesegaran. kosong pada sampel yang dipakai untuk menghasilkan tabel ini
methodobject—Pernyataan teks biasa tentang rumus yang dipakai untuk respons ini, satu entri per kolom.
method.bid_depth_usdstring—Catatan rumus untuk `bid_depth_usd`, teks biasa.
method.ask_depth_usdstring—Catatan rumus untuk `ask_depth_usd`, teks biasa.
method.completestring—Catatan rumus untuk `complete`, teks biasa.
method.historystring—Catatan rumus untuk `history`, teks biasa.
method.exchange_pointsstring—Catatan rumus untuk `exchange_points`, teks biasa.
metaobject—Silsilah data dan kesegaran respons ini.
meta.schemastring—ID skema respons ini. ID hanya berubah jika kolom yang sudah ada berubah makna atau tipe.
meta.sourcearray—Endpoint publik hulu tempat data dikumpulkan.
meta.source[]object—Endpoint publik hulu tempat data dikumpulkan.
meta.source[].exchangestring—ID bursa (huruf kecil).
meta.source[].marketstring—`perp` atau `spot`.
meta.source[].endpointstring—Endpoint publik sumber yang dibaca kolektor (ditampilkan sebagai silsilah data; klien tidak pernah memanggilnya).
meta.observed_atnull—Stempel waktu yang diberikan sumber untuk data tersebut.
meta.received_atnumbermsWaktu kolektor CoinBoss menerima data.
meta.fetched_atnumbermsWaktu respons ini disusun.
meta.windowstring—Jendela waktu yang dicakup angka-angka ini.
meta.qualitystring—FRESH, PARTIAL, STALE, BROKEN, atau UNAVAILABLE, dinilai dari stempel waktu data dan cakupan.
meta.is_staleboolean—True jika data lebih lama dari jendela kesegarannya.
meta.cache_ttl_snumbersMasa hidup cache respons ini.
meta.fallbackstring—Apa yang dikembalikan endpoint ketika kolektor atau sumber gagal.
meta.collector_heartbeat_age_snumbersJumlah detik sejak kolektor terakhir melaporkan bahwa ia berjalan.

Dihasilkan 2026-11-11 23:00 UTC dari 3 respons nyata.

Contoh respons

/api/sd/liquidity/history?coin=BTC · Respons nyata yang direkam 2026-11-13 04:02:45 UTC. Array dan map yang panjang dipersingkat untuk tampilan: points berisi 48 item; meta.source berisi 19 item; exchange_points berisi 19 item; coverage.included_exchanges berisi 19 item.

  • {
    • "success": true,
    • "schema": "coinboss.sd.liquidity/1",
    • "now": 1794542565889,
    • "coin": "BTC",
    • "market": "perp",
    • "band_pct": 1,
    • "range": "24h",
    • "exchange": null,
    • "interval_s": 1800,
    • "points": [
      • { … 7 },
      • { … 7 }
      ],
    • "points_expected": 48,
    • "first_t": 1794457800000,
    • "last_t": 1794542400000,
    • "exchange_points": {
      • "deribit": 96,
      • "aster": 48
      },
    • "coverage": {
      • "included_exchanges": [ … 8 ],
      • "unavailable": [],
      • "stale_excluded": []
      },
    • "method": {
      • "bid_depth_usd": "sum of resting bid notional with price >= mid * (1 - band%), in USD; notional = price * size * contract_value (inverse contracts: size * contract_value); USDT /…",
      • "ask_depth_usd": "sum of resting ask notional with price <= mid * (1 + band%), in USD; same notional rule as bid_depth_usd",
      • "complete": "true when BOTH sides of the snapshot reach the band edge (reach_pct >= band) or the whole side of the book was returned; when false the depth values are lower b…",
      • "history": "sd_book_hist keeps the first snapshot of every 15-minute bucket per contract; each returned point takes, per contract, the first stored snapshot inside the poin…",
      • "exchange_points": "number of returned points in which each exchange had a row that was complete for the band; a changing venue set moves the aggregate, so compare n_included acros…"
      },
    • "meta": {
      • "schema": "coinboss.sd.liquidity/1",
      • "source": [ … 2 ],
      • "observed_at": null,
      • "received_at": 1794542400000,
      • "fetched_at": 1794542565889,
      • "window": "24h",
      • "quality": "FRESH",
      • "is_stale": false,
      • "cache_ttl_s": 120,
      • "fallback": "history is append-only (first snapshot of each 15-minute bucket per contract, 30-day retention); buckets the collector missed are simply absent, never interpola…",
      • "collector_heartbeat_age_s": 3
      }
    }

Sampel terverifikasi

Selain contoh di atas, probe memanggil endpoint ini dengan parameter berikut dan memeriksa skemanya setiap kali.

ParameterHTTPLatensiHasil
band=2&coin=ETH&market=spot2006 msLolos FRESH
coin=SOL&exchange=gate2002 msLolos FRESH
band=3&coin=BTC4001 msLolos mengembalikan error yang diharapkan

Diperiksa 2026-11-13 03:58:06 UTC

Detail

Autentikasi
Tidak ada. Endpoint publik.
Batas permintaan
1200 permintaan per menit per IP
Cache server
2m
Mikro-cache edge
10s
Frekuensi pembaruan
Satu snapshot disimpan setiap 15 menit per kontrak; setiap titik memakai snapshot paling awal dalam bucket-nya (nilai pada satu titik waktu, bukan rata-rata).
Jendela
24h / 7d / 30d.
Sumber data
Snapshot order book REST publik dari 24 bursa (pasar perpetual dan spot), dikumpulkan dan disimpan oleh CoinBoss (sd_book_latest, sd_book_hist). Kedalaman dan slippage dihitung oleh CoinBoss dari level harga mentah.
Cakupan bursa
24 bursa, 38 jalur bursa × pasar. Jika snapshot publik tidak menjangkau ±0.5 / 1 / 2 % dari harga tengah (batas level bursa), rentang tersebut ditandai `complete: false`, nilainya merupakan batas bawah, dan tidak dimasukkan ke agregat; `n_included` / `n_fresh` memberikan penyebutnya dan `excluded_incomplete` mencantumkan apa yang tidak dimasukkan.
Paginasi
Tanpa paginasi; `range` membatasi jumlah titik (48 / 84 / 120).
Pengurutan
Waktu, menaik.
Satuan
Depth in USD notional, bid and ask side reported separately and never added. Spread and slippage in basis points (1 bp = 0.01 %). USDT / USDC / USD quotes are counted 1:1 as USD.
Stempel waktu
Milidetik epoch Unix (UTC) kecuali deskripsi kolom menyatakan lain
Format respons
json
Stabilitas
Stabil
Tersedia sejak
2026-11-11

Status langsung

SebagianDiperiksa 2026-11-13 04:02:45 UTCHTTP 20012 msSkema sesuaiTitik data terbaru berusia 3m

Pengumpulan dimulai pada 2026-11-11, sehingga rentang yang lebih panjang terisi secara bertahap. Bucket yang hilang tidak dicantumkan, bukan diinterpolasi; perubahan `n_included` di antara dua titik berarti himpunan kontrak yang berkontribusi berubah.

Ketersediaan, 30 hari terakhir

100% dari 408 pemeriksaan lolos

Error

Panggilan yang gagal memiliki satu bentuk yang sama di semua endpoint. Daftar lengkapnya ada di halaman error. Error dan batas permintaan →

KodeHTTPArtiTindakan
INVALID_PARAM400Parameter wajib tidak ada atau suatu nilai tidak diterima. `param` menyebutkan nama parameternya jika diketahui.Jangan mengulang tanpa perubahan; perbaiki permintaannya.
UNAUTHORIZED401Header `CB-API-KEY` dikirim tetapi kuncinya tidak dikenal atau sudah dicabut. Data publik tidak memerlukan kunci — hapus header tersebut atau gunakan kunci yang valid.Jangan mengulang tanpa perubahan.
FORBIDDEN403Rute ini bukan bagian dari API publik (internal atau khusus akun).Jangan mengulang.
NOT_FOUND404Rute tidak dikenal, atau koin / bursa / dana yang diminta tidak ada.Jangan mengulang; periksa path dan pengenal terhadap katalog.
RATE_LIMITED429Jumlah permintaan melebihi batas per menit. `Retry-After` memberikan jumlah detik untuk menunggu.Tunggu selama `Retry-After`, lalu ulangi dengan backoff.
INTERNAL500Error server yang tidak terduga. Pesannya sengaja dibuat generik; sertakan `request_id` saat melaporkannya.Ulangi sekali setelah beberapa detik; laporkan beserta ID permintaan jika masih terjadi.
UPSTREAM_FAILED503Sumber data di balik endpoint ini tidak menjawab tepat waktu. Tidak ada angka usang atau angka pengganti yang dikembalikan sebagai gantinya.Ulangi dengan backoff; periksa halaman status.
UNAVAILABLE501 / 503Dataset untuk sementara belum siap (cache sedang diisi) atau endpoint belum memiliki sumber publik yang sah.Ulangi nanti; katalog menandai endpoint yang memang tidak tersedia secara desain.
REQUEST_FAILED200Beberapa endpoint lama menjawab HTTP 200 dengan `success: false`. Selalu periksa `success`, bukan hanya status HTTP.Bergantung pada pesannya; perlakukan sebagai permintaan yang gagal.

Coba

GET/api/sd/liquidity/historySebagian
Parameter

string — Coin symbol, case-insensitive (for example `BTC`). Missing or malformed values return 400.

string · default perp — Market type. Perpetual and spot books are never added together.

string · default 1 — Distance from mid price in percent.

string · default 24h — Look-back range: 24h (30-minute points), 7d (2-hour points) or 30d (6-hour points).

string — One exchange id covered for this market (for example `gate`). Default: all exchanges. An exchange that is not covered returns 400.

URL permintaanhttps://www.coinboss.com/api/sd/liquidity/history?coin=BTC
Pilih endpoint lalu tekan “Kirim permintaan”. Respons, header, dan waktu tempuhnya akan muncul di sini.