/api/sd/ls
GETDisponible

Ratio long/short d'une crypto

Couche de données interne : ratio long/short d'une crypto

GET/api/sd/ls

Requête

Paramètres de requête

NomTypeRequisPar défautValeurs autoriséesDescription
coinstringRequis——Symbole de la crypto ; 400 s'il est absent. Alias : `base`. Exemple: BTC

Exemple de requête

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

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).
nownumbermsHeure du serveur au moment où la réponse a été construite.
accountobject—Part de l'ensemble des comptes en position nette longue vs nette short.
account.long_pctnumber%Part des longs.
account.short_pctnumber%Part des shorts.
account.rationumber—Part des longs divisée par la part des shorts (1 = équilibre).
account.n_exchangesnumber—Nombre de plateformes contributrices.
account.by_exchangearray—Détail par plateforme.
account.by_exchange[]object—Détail par plateforme.
account.by_exchange[].exchangestring—Identifiant de la plateforme, en minuscules (par exemple `binance`).
account.by_exchange[].symbolstring—Symbole de l'instrument tel que normalisé par CoinBoss (par exemple BTCUSDT).
account.by_exchange[].long_pctnumber%Part des longs.
account.by_exchange[].short_pctnumber%Part des shorts.
account.by_exchange[].rationumber—Part des longs divisée par la part des shorts (1 = équilibre).
account.by_exchange[].updated_atnumbermsDate de dernière mise à jour de cette ligne.
account.by_exchange[].age_snumbersSecondes écoulées depuis la dernière mise à jour de cette ligne.
account.by_exchange[].is_staleboolean—true lorsque la ligne est plus ancienne que la fenêtre de fraîcheur ; les lignes périmées ne sont pas utilisées dans les totaux.
account.by_exchange[].sourcestring—Statistique de la plateforme dont provient la ligne.
account.by_exchange[].periodstring—Période d'échantillonnage de la statistique de la plateforme (par exemple `5m`).
top_accountobject—Idem, limité aux top traders tels que les définit la plateforme.
top_account.long_pctnumber|null%Part des longs.
top_account.short_pctnumber|null%Part des shorts.
top_account.rationumber|null—Part des longs divisée par la part des shorts (1 = équilibre).
top_account.n_exchangesnumber—Nombre de plateformes contributrices.
top_account.by_exchangearray—Détail par plateforme.
top_account.by_exchange[]object—Détail par plateforme.
top_account.by_exchange[].exchangestring—Identifiant de la plateforme, en minuscules (par exemple `binance`).
top_account.by_exchange[].symbolstring—Symbole de l'instrument tel que normalisé par CoinBoss (par exemple BTCUSDT).
top_account.by_exchange[].long_pctnumber%Part des longs.
top_account.by_exchange[].short_pctnumber%Part des shorts.
top_account.by_exchange[].rationumber—Part des longs divisée par la part des shorts (1 = équilibre).
top_account.by_exchange[].updated_atnumbermsDate de dernière mise à jour de cette ligne.
top_account.by_exchange[].age_snumbersSecondes écoulées depuis la dernière mise à jour de cette ligne.
top_account.by_exchange[].is_staleboolean—true lorsque la ligne est plus ancienne que la fenêtre de fraîcheur ; les lignes périmées ne sont pas utilisées dans les totaux.
top_account.by_exchange[].sourcestring—Statistique de la plateforme dont provient la ligne.
top_account.by_exchange[].periodstring—Période d'échantillonnage de la statistique de la plateforme (par exemple `5m`).
top_positionobject—Part long vs short des positions détenues par les top traders.
top_position.long_pctnumber|null%Part des longs.
top_position.short_pctnumber|null%Part des shorts.
top_position.rationumber|null—Part des longs divisée par la part des shorts (1 = équilibre).
top_position.n_exchangesnumber—Nombre de plateformes contributrices.
top_position.by_exchangearray—Détail par plateforme.
top_position.by_exchange[]object—Détail par plateforme.
top_position.by_exchange[].exchangestring—Identifiant de la plateforme, en minuscules (par exemple `binance`).
top_position.by_exchange[].symbolstring—Symbole de l'instrument tel que normalisé par CoinBoss (par exemple BTCUSDT).
top_position.by_exchange[].long_pctnumber%Part des longs.
top_position.by_exchange[].short_pctnumber%Part des shorts.
top_position.by_exchange[].rationumber—Part des longs divisée par la part des shorts (1 = équilibre).
top_position.by_exchange[].updated_atnumbermsDate de dernière mise à jour de cette ligne.
top_position.by_exchange[].age_snumbersSecondes écoulées depuis la dernière mise à jour de cette ligne.
top_position.by_exchange[].is_staleboolean—true lorsque la ligne est plus ancienne que la fenêtre de fraîcheur ; les lignes périmées ne sont pas utilisées dans les totaux.
top_position.by_exchange[].sourcestring—Statistique de la plateforme dont provient la ligne.
top_position.by_exchange[].periodstring—Période d'échantillonnage de la statistique de la plateforme (par exemple `5m`).
position_allobject—Part long vs short de l'ensemble des positions (plateformes qui la publient).
position_all.long_pctnumber|null%Part des longs.
position_all.short_pctnumber|null%Part des shorts.
position_all.rationumber|null—Part des longs divisée par la part des shorts (1 = équilibre).
position_all.n_exchangesnumber—Nombre de plateformes contributrices.
position_all.by_exchangearray—Détail par plateforme.
position_all.by_exchange[]object—Détail par plateforme.
position_all.by_exchange[].exchangestring—Identifiant de la plateforme, en minuscules (par exemple `binance`).
position_all.by_exchange[].symbolstring—Symbole de l'instrument tel que normalisé par CoinBoss (par exemple BTCUSDT).
position_all.by_exchange[].long_pctnumber%Part des longs.
position_all.by_exchange[].short_pctnumber%Part des shorts.
position_all.by_exchange[].rationumber—Part des longs divisée par la part des shorts (1 = équilibre).
position_all.by_exchange[].updated_atnumbermsDate de dernière mise à jour de cette ligne.
position_all.by_exchange[].age_snumbersSecondes écoulées depuis la dernière mise à jour de cette ligne.
position_all.by_exchange[].is_staleboolean—true lorsque la ligne est plus ancienne que la fenêtre de fraîcheur ; les lignes périmées ne sont pas utilisées dans les totaux.
position_all.by_exchange[].sourcestring—Statistique de la plateforme dont provient la ligne.
position_all.by_exchange[].periodstring—Période d'échantillonnage de la statistique de la plateforme (par exemple `5m`).
takerobject—Part du volume taker achat vs taker vente.
taker.long_pctnumber|null%Part des longs.
taker.short_pctnumber|null%Part des shorts.
taker.rationumber|null—Part des longs divisée par la part des shorts (1 = équilibre).
taker.n_exchangesnumber—Nombre de plateformes contributrices.
taker.by_exchangearray—Détail par plateforme.
taker.by_exchange[]object—Détail par plateforme.
taker.by_exchange[].exchangestring—Identifiant de la plateforme, en minuscules (par exemple `binance`).
taker.by_exchange[].symbolstring—Symbole de l'instrument tel que normalisé par CoinBoss (par exemple BTCUSDT).
taker.by_exchange[].long_pctnumber%Part des longs.
taker.by_exchange[].short_pctnumber%Part des shorts.
taker.by_exchange[].rationumber—Part des longs divisée par la part des shorts (1 = équilibre).
taker.by_exchange[].updated_atnumbermsDate de dernière mise à jour de cette ligne.
taker.by_exchange[].age_snumbersSecondes écoulées depuis la dernière mise à jour de cette ligne.
taker.by_exchange[].is_staleboolean—true lorsque la ligne est plus ancienne que la fenêtre de fraîcheur ; les lignes périmées ne sont pas utilisées dans les totaux.
taker.by_exchange[].sourcestring—Statistique de la plateforme dont provient la ligne.
taker.by_exchange[].periodstring—Période d'échantillonnage de la statistique de la plateforme (par exemple `5m`).
definitionsobject—Définition de chaque mesure. Les cinq mesures répondent à des questions différentes et ne sont jamais mélangées.
definitions.accountstring—Mesure par comptes.
definitions.top_accountstring—Mesure par comptes des top traders.
definitions.top_positionstring—Mesure par positions des top traders.
definitions.position_allstring—Mesure sur l'ensemble des positions.
definitions.takerstring—Mesure taker achat / vente.
methodobject—Énoncé en texte brut des formules utilisées pour cette réponse.
method.normalizestring—Note en texte brut sur la normalisation : la valeur de chaque plateforme est remise à l'échelle de sorte que % long + % short = 100, et ratio = % long ÷ % short.
method.aggregatestring—Agrégat multi-plateformes.
method.freshnessstring—Règle de fraîcheur en texte brut : les lignes mises à jour dans les dernières 24 heures sont affichées et `is_stale` signale les lignes de plus de 2 heures.

Généré à partir de 4 réponses réelles (2026-11-11 23:00 UTC).

Exemple de réponse

/api/sd/ls?coin=BTC · Réponse réelle (capture : 2026-11-13 03:57:48 UTC). Les tableaux et dictionnaires longs sont abrégés pour l'affichage : taker.by_exchange comptait 4 éléments; account.by_exchange comptait 6 éléments; top_position.by_exchange comptait 4 éléments.

  • {
    • "success": true,
    • "coin": "BTC",
    • "now": 1794542268813,
    • "account": {
      • "long_pct": 73.52,
      • "short_pct": 26.48,
      • "ratio": 2.7764,
      • "n_exchanges": 6,
      • "by_exchange": [ … 2 ]
      },
    • "top_account": {
      • "long_pct": 66.89,
      • "short_pct": 33.11,
      • "ratio": 2.0198,
      • "n_exchanges": 2,
      • "by_exchange": [ … 2 ]
      },
    • "top_position": {
      • "long_pct": 49.7,
      • "short_pct": 50.3,
      • "ratio": 0.9881,
      • "n_exchanges": 4,
      • "by_exchange": [ … 2 ]
      },
    • "position_all": {
      • "long_pct": 49.43,
      • "short_pct": 50.57,
      • "ratio": 0.9775,
      • "n_exchanges": 1,
      • "by_exchange": [ … 1 ]
      },
    • "taker": {
      • "long_pct": 43.47,
      • "short_pct": 56.54,
      • "ratio": 0.7688,
      • "n_exchanges": 4,
      • "by_exchange": [ … 2 ]
      },
    • "definitions": {
      • "account": "all accounts: share of accounts that are net long vs net short (headcount, not size)",
      • "top_account": "top traders only: share of top-trader accounts net long vs net short",
      • "top_position": "top traders only: long position size vs short position size",
      • "position_all": "all traders: long position size vs short position size (Bitget only; kept separate from top-trader figures)",
      • "taker": "taker buy volume vs taker sell volume in the period (aggressor flow; not positions)"
      },
    • "method": {
      • "normalize": "each exchange value converted to long% + short% = 100; ratio = long% / short%",
      • "aggregate": "simple mean of long% across exchanges within the same definition; different definitions are never mixed",
      • "freshness": "rows updated within 24h are shown; is_stale marks rows older than 2h"
      }
    }

É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=ETH20011 msRéussi
coin=SOL2005 msRéussi
coin=ARKM2004 msRéussi
—4001 msRéussi renvoie l'erreur attendue

Vérifié : 2026-11-13 03:57:48 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
toutes les 5 min (ratio par comptes des top traders de binance et ratios taker / par positions des top traders d'okx toutes les heures ; symboles de la longue traîne toutes les 30 min)
Fenêtre
dernier instantané (lignes de moins de 24 h ; indicateur is_stale après 2 h)
Sources de données
Ratios long/short interrogés par des collecteurs internes auprès des endpoints publics de statistiques de 7 plateformes (binance, okx, bybit, bitget, gate, htx, kraken).
Couverture des plateformes
ratio par comptes : binance, okx, bybit, bitget, gate, kraken ; ratio par comptes des top traders : binance, htx ; ratio par positions : binance, okx, gate, htx, bitget ; ratio taker achat/vente : binance, okx, bitget, gate ; les périodes d'échantillonnage en amont diffèrent (de 5 min à 1 h) ; la couverture des symboles est une liste glissante des plus gros volumes (environ 280 cryptos pour le ratio par comptes de binance, environ 20 à 60 cryptos pour les autres plateformes / types) ; la réponse liste chaque endpoint amont et sa période d'échantillonnage
Unités
long / short as percentages of 100; ratio = long / short
Méthode
per group (account, top_account, top_position, position_all, taker): simple mean of long% across exchanges; groups are never mixed
Horodatages
Millisecondes depuis l'epoch Unix (UTC), sauf indication contraire dans la description du champ
Format de réponse
json
Stabilité
Stable
Disponible depuis
2026-11-11

Statut en direct

DisponibleVérifié : 2026-11-13 03:57:48 UTCHTTP 2005 msSchéma conformePoint de données le plus récent : il y a 2m

Disponibilité, 30 derniers jours

100 % des 410 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/sd/lsDisponible
Paramètres

string — Coin symbol; 400 when missing. Alias: `base`.

URL de la requêtehttps://www.coinboss.com/api/sd/ls?coin=BTC
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.