/api/currency/ex-table
GETDisponible

Tableau des plateformes de la page crypto

Tableau des plateformes de la page crypto (prix, volume, OI, financement par plateforme ; spot ou futures)

GET/api/currency/ex-table

Requête

Paramètres de requête

NomTypeRequisPar défautValeurs autoriséesDescription
coinstringRequis——Symbole de la crypto de base (en majuscules, p. ex. BTC). Exemple: BTC
marketstringOptionnelfuturesfutures, spot, perpetual, delivery, all`futures` (default) and `spot` return one row per exchange (`futures` one row per contract with `group=pair`). `perpetual`, `delivery` and `all` always return one row per market: perpetual contracts only, dated futures only, or every spot, perpetual and delivery market of the coin in one list. Any other value is treated as `futures`. Exemple: futures
groupstringOptionnel—pair`pair` returns one row per contract instead of one row per exchange. Each row then carries `status`, `status_reason`, `market_type`, `expiry_ts`, `expiry_date`, `native_symbol`, `quote`, `margin_type`, `price_source`, `price_at` and `rank`, and the response adds a `meta` object. Rows whose `status` is not `active` (no live quote, no feed, expired) carry no price.

Exemple de requête

curl -s "https://www.coinboss.com/api/currency/ex-table?coin=BTC&market=futures"

Champs de la réponse

Le tableau des champs est généré à partir de réponses réelles : il liste donc exactement ce que renvoie l'endpoint. Les chemins utilisent a[] pour les éléments d'un tableau et {*} pour les objets indexés par un nom dynamique, comme une crypto ou une plateforme.

ChampTypeUnitéDescription
successboolean—true lorsque la requête a abouti. En cas d'échec, le corps est `{ success: false, code, error, request_id }`.
coinstring—Symbole de la crypto, en majuscules (par exemple BTC).
marketstring—Marché.
dataarray—Charge utile.
data[]object—Charge utile.
data[].exchangestring—Identifiant de la plateforme, en minuscules (par exemple `binance`).
data[].namestring—Nom.
data[].pairstring|null—Exchange symbol of the row's contract: the highest-volume contract of the exchange, or the exact contract with `group=pair` (the symbol as CoinBoss normalises it; the name used by the exchange is `native_symbol`); null when the exchange has open interest but no ticker.
data[].pricenumber|null—Dernier prix dans la devise de cotation (USD ou USDT sauf mention contraire).
data[].change_pctnumber|null%Variation en pourcentage.
data[].volume_usdnumber|nullUSDVolume en notionnel USD.
data[].oi_usdnumber|nullUSDPositions ouvertes en notionnel USD.
data[].ls_rationumber|null—Ratio long/short.
data[].liq_longnumber|null—Longs liquidés.
data[].liq_shortnumber|null—Shorts liquidés.
data[].fundingnumber|null—Bloc ou valeur du taux de financement.
data[].funding_interval_hnumber|nullhIntervalle de financement. peut être absent
data[].funding_8hnumber|nullfraction`funding` normalisé sur un intervalle de 8 heures : taux × 8 ÷ `funding_interval_h` (0.0001 = 0,01 %) ; null lorsque l'intervalle de règlement est inconnu. peut être absent
data[].next_funding_timenumber|nullmsHorodatage. peut être absent
data[].multipliernumberxNombre de cryptos que représente une unité cotée du contrat (1000 pour les contrats de type 1000PEPE, sinon 1). peut être absent
data[].vol_change_pctnumber|null%Variation du volume 24h de la plateforme par rapport à son instantané horaire pris 23 à 25 heures plus tôt ; null en l'absence d'instantané ou sur les lignes non principales.
data[].oi_change_pctnumber|null%Variation des positions ouvertes de la plateforme par rapport à l'instantané horaire des mêmes contrats le plus proche d'il y a 24 heures (±1 h) ; null lorsqu'aucune référence n'existe.
data[].oi_vol_change_pctnumber|null%Variation du ratio positions ouvertes ÷ volume 24h par rapport au même ratio 24 heures plus tôt.
data[].price_rawnumber|nullUSDDernier prix exactement tel que la plateforme cote le contrat, avant division par `multiplier` ; égal à `price` lorsque `multiplier` vaut 1. peut être absent
data[].liquidity_usdnumber|nullUSDNotionnel du carnet d'ordres, bid plus ask, à ±1 % du prix médian sur cette plateforme ; il s'agit d'une borne inférieure lorsque `liquidity_complete` vaut false. peut être absent
data[].liquidity_reach_pctnumber%Distance au prix médian réellement couverte par le carnet d'ordres renvoyé par la plateforme, la plus petite des deux entre le côté bid et le côté ask. peut être absent
data[].liquidity_completeboolean—True lorsque le carnet d'ordres renvoyé couvre toute la bande de ±1 % des deux côtés ; false signifie que `liquidity_usd` est sous-estimé. peut être absent
data[].oi_vol_rationumber|null—Positions ouvertes divisées par le volume sur 24h.
data[].pair_dispstring—Forme d'affichage de la paire, base/cotation (`BTC/USDT`, `1000PEPE/USDT`, `BTC/USD` pour le CME et les plateformes à marge USD).
data[].contract_typestring|null—`perpetual` or `delivery` (dated futures); null on spot rows. With `group=pair` it comes from the exchange's contract specification where CoinBoss has one, otherwise from the expiry code in the symbol.
data[].expirystring(decimal)|null—Expiry date code YYMMDD of a dated contract. With `group=pair` it is derived from `expiry_ts` for every contract that has an expiry; otherwise it is the six-digit symbol suffix. Null for contracts without an expiry and for CME rows.
data[].market_typestring—`spot`, `perpetual` or `delivery`. peut être absent
data[].expiry_tsnumber|nullmsExpiry / delivery time of the contract, Unix milliseconds; null when the contract has no expiry or the exchange does not publish one. peut être absent
data[].expiry_datestring|null—Expiry date as YYYY-MM-DD (UTC); null when the contract has no expiry. peut être absent
data[].native_symbolstring|null—Contract name exactly as the exchange lists it (`BTCUSDT_270326`, `BTC-PERPETUAL`, `XBTMZ26`); null when CoinBoss holds no contract specification for the venue and on spot rows. peut être absent
data[].quotestring|null—Quote currency of the contract or spot pair (`USDT`, `USDC`, `USD`, …). peut être absent
data[].margin_typestring|null—Margin asset class from the contract specification: `usdt`, `usdc`, `coin`, `usd` or `other`; null when unknown and on spot rows. peut être absent
data[].statusstring—Market state of the row (only with `group=pair` and `market=spot`): `active` = a real quote received within the last hour and a 24h volume above zero; `no_quote` = the contract is listed but has no usable quote, see `status_reason`; `not_provided` = the exchange publishes no real-time ticker that CoinBoss collects (CME); `expired` = the contract is past its expiry. Rows that are not `active` carry no price. peut être absent
data[].status_reasonstring|null—Why a row is not `active`: `expired`, `no_realtime_feed`, `quote_stale` (last quote older than one hour), `no_price`, `no_volume` (the exchange reports no 24h volume) or `no_trades_24h` (the reported 24h volume is zero). Null on active rows. peut être absent
data[].price_sourcestring|null—Dataset the row's price and volume were read from: `market_tickers`, `sd_contract_latest` or `spot_coin_ex_vol`; null when no ticker exists for the contract. peut être absent
data[].price_atnumber|nullmsTime the row's ticker was received, Unix milliseconds. On rows that are not `active` it is the time of the last ticker seen (no price is returned for it), or null. peut être absent
data[].symbolstring—Symbol of the row as CoinBoss stores it (`BTCUSDT`, `BTCUSD_270326`, `BTC-27NOV26`); same value as `pair` on contract rows, base + quote on spot rows. The name used by the exchange is `native_symbol`. peut être absent
data[].basestring—Underlying of the contract or spot pair as traded. Contracts quoted in multiples of the coin keep the multiplier (`1000PEPE`). peut être absent
data[].market_statusstring—State of the market: `ACTIVE` = not expired, a quote of this market received within the last hour and a 24h volume above zero; `EXPIRING` = active and the exchange lists its expiry within the next 24 hours; `EXPIRED` = past its expiry; `STALE` = the last quote is older than one hour; `NO_QUOTE` = no usable quote, see `reason_code`. Only `ACTIVE` and `EXPIRING` rows carry a price and a `rank`. peut être absent
data[].reason_codestring|null—Why the row carries no price: `NO_QUOTE` (listed, but no trades in 24h or no last price / volume reported), `EXPIRED`, `STALE`, or `UNAVAILABLE` (CoinBoss collects no real-time ticker for this market, e.g. CME). Null on `ACTIVE` and `EXPIRING` rows. The finer cause is in `status_reason`. peut être absent
data[].source_atnumber|nullmsTime the ticker behind this row was received from the exchange, Unix milliseconds; null when no ticker exists. Same value as `price_at`. peut être absent
data[].qualitystring—`live` = `source_at` within the last hour, `stale` = older, `none` = no ticker for this market. peut être absent
data[].is_staleboolean—True when `quality` is `stale`. peut être absent
data[].expires_in_snumber|nullsSeconds until the expiry of the contract at the time the table was assembled; negative once expired; null when the contract has no expiry. peut être absent
data[].ranknumber|null—Position among rankable rows (`market_status` `ACTIVE` or `EXPIRING`) ordered by `volume_usd` descending, starting at 1 and counted inside the requested view; null on rows that are not rankable. peut être absent
data[].marketstring—Marché. peut être absent
metaobject— peut être absent
meta.groupstring—`pair` = one row per contract, `exchange` = one row per spot venue. peut être absent
meta.as_ofnumbermsTime the table was assembled, Unix milliseconds. peut être absent
meta.fresh_window_snumbersMaximum age of a quote for a row to count as `active`. peut être absent
meta.expiring_window_snumbersA contract whose expiry is closer than this is reported as `EXPIRING`. peut être absent
meta.volume_windowstring—Window of `volume_usd`: `24h_rolling`, the rolling 24-hour turnover each exchange reports. peut être absent
meta.volume_unitstring—Unit of `volume_usd`. peut être absent
meta.sortstring—Row order of the response in words. peut être absent
meta.countsobject—Number of rows per `status`. peut être absent
meta.counts.activenumbercountRows with `status=active`. peut être absent
meta.counts.no_quotenumbercountRows with `status=no_quote`. peut être absent
meta.counts.not_providednumbercountRows with `status=not_provided`. peut être absent
meta.counts.expirednumbercountRows with `status=expired`. peut être absent
meta.market_status_countsobject—Number of rows per `market_status`. peut être absent
meta.market_status_counts.ACTIVEnumbercountRows with `market_status=ACTIVE`. peut être absent
meta.market_status_counts.EXPIRINGnumbercountRows with `market_status=EXPIRING`. peut être absent
meta.market_status_counts.EXPIREDnumbercountRows with `market_status=EXPIRED`. peut être absent
meta.market_status_counts.NO_QUOTEnumbercountRows with `market_status=NO_QUOTE`. peut être absent
meta.market_status_counts.STALEnumbercountRows with `market_status=STALE`. peut être absent
meta.type_countsobject—Number of rows per market type. peut être absent
meta.type_counts.spotnumbercountSpot rows in the response. peut être absent
meta.type_counts.perpetualnumbercountPerpetual rows in the response. peut être absent
meta.type_counts.deliverynumbercountDelivery (dated futures) rows in the response. peut être absent
meta.type_rankableobject—Number of rankable rows (`ACTIVE` or `EXPIRING`) per market type. peut être absent
meta.type_rankable.spotnumbercountSpot rows that are rankable (`ACTIVE` or `EXPIRING`). peut être absent
meta.type_rankable.perpetualnumbercountPerpetual rows that are rankable. peut être absent
meta.type_rankable.deliverynumbercountDelivery rows that are rankable. peut être absent

Généré à partir de 9 réponses réelles (2026-11-12 10:57 UTC).

Exemple de réponse

/api/currency/ex-table?coin=BTC&market=futures · Réponse réelle (capture : 2026-11-13 03:57:28 UTC). Les tableaux et dictionnaires longs sont abrégés pour l'affichage : data comptait 24 éléments.

  • {
    • "success": true,
    • "coin": "BTC",
    • "market": "futures",
    • "data": [
      • { … 26 },
      • { … 26 }
      ]
    }

Échantillons vérifiés

Outre l'exemple ci-dessus, la sonde appelle cet endpoint avec les paramètres suivants et vérifie le schéma à chaque fois.

ParamètresHTTPLatenceRésultat
coin=BTC&market=all200139 msRéussi
coin=BTC&market=perpetual2001 msRéussi
coin=BTC&market=delivery2002 msRéussi
coin=BTC&group=pair&market=futures2002 msRéussi
coin=BTC&market=spot2001 msRéussi
coin=ETH&market=futures200105 msRéussi
coin=SOL&market=futures20067 msRéussi
coin=ARKM&market=futures20055 msRéussi

Vérifié : 2026-11-13 03:57:28 UTC

Détails

Authentification
Aucune. Endpoint public.
Limite de requêtes
1200 requêtes par minute et par IP
Cache serveur
30s
Micro-cache en périphérie
10s
Fréquence de mise à jour
tickers / OI / financement toutes les 60 s à 5 min ; profondeur du carnet d'ordres toutes les 5 min ; volume spot toutes les 10 min ; liquidations en temps réel
Fenêtre
dernier instantané (tickers 1 h, OI 3 h, financement 4 h, long/short 24 h, profondeur 30 min) ; variations 24 h par rapport aux archives horaires
Sources de données
Statistiques futures et spot par plateforme pour une crypto, assemblées par les collecteurs de CoinBoss qui interrogent les API publiques d'environ 30 plateformes (p. ex. binance, okx, bybit, bitget, gate, hyperliquid).
Couverture des plateformes
futures : toutes les plateformes ayant un ticker à jour pour la crypto (jusqu'à 24) ; profondeur sur 15 plateformes pour environ 28 cryptos ; spot (market=spot) : 14 plateformes spot
Tri
volume_usd desc. With `group=pair` and with `market=spot|perpetual|delivery|all`: rankable rows (`market_status` ACTIVE or EXPIRING) first by volume_usd desc (these carry `rank`), then rows without a live quote by oi_usd desc, expired contracts last; ties by expiry, exchange and symbol, so every request made at the same moment gets the same order
Unités
price in USD (multiplier contracts normalized to one coin); volume / OI / liquidations / depth in USD; funding as raw fraction and 8 h-normalized fraction; changes in percent
Méthode
per exchange (futures): volume = SUM(volume_usd); funding_8h = rate x 8 / interval_hours of the largest-OI contract; depth_1pct_usd = bid + ask notional within +/- 1% of mid; OI 24 h change by same-contract pairing; volume change vs the ticker archive 23-25 h earlier; liquidations = 24 h SUM(value_usd)
Horodatages
Millisecondes depuis l'epoch Unix (UTC), sauf indication contraire dans la description du champ
Format de réponse
json
Stabilité
Stable

Statut en direct

DisponibleVérifié : 2026-11-13 03:57:28 UTCHTTP 200139 msSchéma conforme

Disponibilité, 30 derniers jours

99.76 % des 411 contrôles réussis

Erreurs

Les appels en échec ont la même structure sur tous les endpoints. La liste complète figure sur la page des erreurs. Erreurs et limites de requêtes →

CodeHTTPSignificationQue faire
INVALID_PARAM400Un paramètre requis est manquant ou une valeur n'est pas acceptée. `param` indique le nom du paramètre lorsqu'il est connu.Ne réessayez pas à l'identique ; corrigez la requête.
UNAUTHORIZED401L'en-tête `CB-API-KEY` a été envoyé, mais la clé est inconnue ou révoquée. Les données publiques ne nécessitent aucune clé — supprimez l'en-tête ou utilisez une clé valide.Ne réessayez pas à l'identique.
FORBIDDEN403La route ne fait pas partie de l'API publique (interne ou réservée aux comptes).Ne réessayez pas.
NOT_FOUND404Route inconnue, ou la crypto / la plateforme / le fonds demandé n'existe pas.Ne réessayez pas ; vérifiez le chemin et les identifiants dans le catalogue.
RATE_LIMITED429Plus de requêtes que la limite par minute. `Retry-After` indique le nombre de secondes à attendre.Attendez la durée indiquée par `Retry-After`, puis réessayez avec backoff.
INTERNAL500Erreur serveur inattendue. Le message est volontairement générique ; citez `request_id` lorsque vous la signalez.Réessayez une fois après quelques secondes ; si l'erreur persiste, signalez-la avec l'ID de requête.
UPSTREAM_FAILED503La source de données derrière cet endpoint n'a pas répondu à temps. Aucun chiffre périmé ni de substitution n'est renvoyé à sa place.Réessayez avec backoff ; consultez la page de statut.
UNAVAILABLE501 / 503Le jeu de données n'est temporairement pas prêt (préchauffage du cache) ou l'endpoint n'a pas encore de source publique licite.Réessayez plus tard ; le catalogue signale les endpoints indisponibles par conception.
REQUEST_FAILED200Certains endpoints plus anciens répondent HTTP 200 avec `success: false`. Vérifiez toujours `success`, et pas seulement le statut HTTP.Dépend du message ; à traiter comme une requête en échec.

Essayer

GET/api/currency/ex-tableDisponible
Paramètres

string — Base coin symbol (uppercase, e.g. BTC).

string · défaut futures — `futures` (default) and `spot` return one row per exchange (`futures` one row per contract with `group=pair`). `perpetual`, `delivery` and `all` always return one row per market: perpetual contracts only, dated futures only, or every spot, perpetual and delivery market of the coin in one list. Any other value is treated as `futures`.

string — `pair` returns one row per contract instead of one row per exchange. Each row then carries `status`, `status_reason`, `market_type`, `expiry_ts`, `expiry_date`, `native_symbol`, `quote`, `margin_type`, `price_source`, `price_at` and `rank`, and the response adds a `meta` object. Rows whose `status` is not `active` (no live quote, no feed, expired) carry no price.

URL de la requêtehttps://www.coinboss.com/api/currency/ex-table?coin=BTC&market=futures
Choisissez un endpoint et cliquez sur « Envoyer la requête ». La réponse, les en-têtes et le temps de réponse s'afficheront ici.