Historique des options (horaire)
Série horaire des positions ouvertes, du volume, du ratio put/call, de l'IV ATM ou du max pain des options d'une crypto. L'historique commence au début de la collecte par CoinBoss (2026-11-11) ; les heures antérieures ne sont pas reconstituées.
/api/sd/options/historyRequête
Paramètres de requête
| Nom | Type | Requis | Par défaut | Valeurs autorisées | Description |
|---|---|---|---|---|---|
| coin | string | Requis | — | — | Symbole de la crypto, insensible à la casse (par exemple `BTC`). Une valeur absente ou mal formée renvoie 400. Exemple: BTC |
| metric | string | Requis | — | oi, volume, pcr, atm_iv, max_pain | Série à renvoyer. Exemple: oi |
| range | string | Optionnel | 7d | 24h, 7d, 30d, 90d | Plage rétrospective ; un point par heure, 2160 points au maximum. |
| exchange | string | Optionnel | all | all, deribit, binance, bybit, okx, gate, coincall | Une plateforme, ou `all` pour l'agrégat multi-plateformes. |
Exemple de requête
curl -s "https://www.coinboss.com/api/sd/options/history?coin=BTC&metric=oi"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.
| Champ | Type | Unité | Description |
|---|---|---|---|
| success | boolean | — | true lorsque la requête a abouti. En cas d'échec, le corps est `{ success: false, code, error, request_id }`. |
| schema | string | — | Identifiant de schéma de cette réponse. Il ne change que lorsqu'un champ existant change de sens ou de type. |
| now | number | ms | Heure du serveur au moment où la réponse a été construite. |
| coin | string | — | Symbole de la crypto (en majuscules). |
| exchange | string | — | Identifiant de la plateforme (en minuscules). |
| metric | string | — | Série sélectionnée par le paramètre `metric`. |
| range | string | — | Plage rétrospective appliquée. |
| interval | string | — | Espacement des points de la série. |
| points_count | number | — | Nombre de points renvoyés. |
| expected_points | number | — | Nombre de points horaires que contiendrait la plage demandée si elle était complète. |
| history_started_at | number | ms | Heure de la première heure collectée par CoinBoss. |
| first_t | number | ms | Heure du premier point renvoyé. |
| last_t | number | ms | Heure du dernier point renvoyé. |
| points | array | — | Points de la série, du plus ancien au plus récent. |
| points[] | object | — | Points de la série, du plus ancien au plus récent. |
| points[].t | number | ms | Début de la tranche temporelle. |
| points[].snapshot_at | number | ms | Heure du cycle de collecte à partir duquel le point a été écrit. |
| points[].n_exchanges | number | — | Nombre de plateformes dans le point. |
| points[].exchanges | array | — | Plateformes incluses dans cette ligne. |
| points[].exchanges[] | string | — | Plateformes incluses dans cette ligne. |
| points[].oi_usd | number | USD | Positions ouvertes en notionnel USD : quantité de cryptos × prix d'indice spot. Simple face. peut être absent |
| points[].call_oi_usd | number | USD | Positions ouvertes des calls, en notionnel USD. peut être absent |
| points[].put_oi_usd | number | USD | Positions ouvertes des puts, en notionnel USD. peut être absent |
| points[].oi_coin | number | coin | Positions ouvertes en unités de la crypto sous-jacente. peut être absent |
| points[].index_price | number | USD | Prix d'indice spot utilisé pour la conversion en USD (médiane des prix d'indice propres aux plateformes dans les agrégats). peut être absent |
| coverage | object | — | Ce qui est inclus ou non dans les chiffres. Comparez ces éléments avant de comparer les totaux avec une autre source. |
| coverage.included_exchanges | array | — | Sources dont les données à jour sont incluses. |
| coverage.included_exchanges[] | string | — | Sources dont les données à jour sont incluses. |
| coverage.unavailable | array | — | Sources qui n'ont pas pu être incluses, chacune avec sa raison. Elles ne sont jamais comptées comme 0. |
| coverage.unavailable[] | object | — | Sources qui n'ont pas pu être incluses, chacune avec sa raison. Elles ne sont jamais comptées comme 0. |
| coverage.unavailable[].exchange | string | — | Identifiant de la plateforme (en minuscules). |
| coverage.unavailable[].reason | string | — | Code de raison lisible par machine. |
| coverage.unavailable[].detail | string | — | Explication de la raison, lisible par un humain. |
| coverage.stale_excluded | array | — | Lignes écartées parce que leur dernière mise à jour est hors de la fenêtre de fraîcheur. vide dans les échantillons ayant servi à générer ce tableau |
| method | object | — | Énoncé en texte brut des formules utilisées pour cette réponse, une entrée par champ. |
| method.points | string | — | Note de formule pour `points`, en texte brut. |
| method.exchanges | string | — | Note de formule pour `exchanges`, en texte brut. |
| method.history_depth | string | — | Note de formule pour `history_depth`, en texte brut. |
| method.oi_usd | string | — | Note de formule pour `oi_usd`, en texte brut. peut être absent |
| meta | object | — | Traçabilité et fraîcheur de cette réponse. |
| meta.schema | string | — | Identifiant de schéma de cette réponse. Il ne change que lorsqu'un champ existant change de sens ou de type. |
| meta.source | array | — | Endpoints publics amont auprès desquels les données ont été collectées. |
| meta.source[] | object | — | Endpoints publics amont auprès desquels les données ont été collectées. |
| meta.source[].exchange | string | — | Identifiant de la plateforme (en minuscules). |
| meta.source[].endpoint | string | — | Endpoint public de la source que lit le collecteur (indiqué pour la traçabilité ; les clients ne l'appellent jamais). |
| meta.observed_at | null | — | Horodatage attribué aux données par la source. |
| meta.received_at | number | ms | Moment où le collecteur CoinBoss a reçu les données. |
| meta.fetched_at | number | ms | Moment où cette réponse a été assemblée. |
| meta.window | string | — | Fenêtre temporelle couverte par les chiffres. |
| meta.quality | string | — | FRESH, PARTIAL, STALE, BROKEN ou UNAVAILABLE, d'après les horodatages des données et la couverture. |
| meta.is_stale | boolean | — | True lorsque les données sont plus anciennes que leur fenêtre de fraîcheur. |
| meta.cache_ttl_s | number | s | Durée de vie en cache de cette réponse. |
| meta.fallback | string | — | Ce que renvoie l'endpoint lorsque le collecteur ou une source est en échec. |
| points[].pcr_oi | number | ratio | Positions ouvertes des puts ÷ positions ouvertes des calls, en unités de crypto ; `null` lorsque le côté call vaut 0. peut être absent |
| points[].pcr_vol | number | ratio | Volume 24h des puts ÷ volume 24h des calls, en unités de crypto ; `null` lorsque le côté call vaut 0. peut être absent |
| method.pcr_oi | string | — | Note de formule pour `pcr_oi`, en texte brut. peut être absent |
| method.pcr_vol | string | — | Note de formule pour `pcr_vol`, en texte brut. peut être absent |
| points[].atm_iv_30d | number | % | IV ATM interpolée linéairement à une maturité constante de 30 jours ; `null` lorsque les 30 jours ne sont pas encadrés par deux échéances. peut être absent |
| method.atm_iv | string | — | Note de formule pour `atm_iv`, en texte brut. peut être absent |
| method.atm_iv_30d | string | — | Note de formule pour `atm_iv_30d`, en texte brut. peut être absent |
Généré à partir de 3 réponses réelles (2026-11-11 23:00 UTC).
Exemple de réponse
/api/sd/options/history?coin=BTC&metric=oi · Réponse réelle (capture : 2026-11-13 03:58:20 UTC). Les tableaux et dictionnaires longs sont abrégés pour l'affichage : points comptait 23 éléments; meta.source comptait 6 éléments; coverage.unavailable comptait 12 éléments.
- "success"true
- "schema""coinboss.sd.options/1"
- "now"1794542300888
- "coin""BTC"
- "exchange""all"
- "metric""oi"
- "range""7d"
- "interval""1h"
- "points_count"23
- "expected_points"168
- "history_started_at"1794416400000
- "first_t"1794416400000
- "last_t"1794520800000
- "points"
- "coverage"
- "included_exchanges"
- "unavailable"
- "stale_excluded"
- "method"
- "points""one point per UTC hour bucket (t = bucket start, ms); the value is the LAST collector snapshot inside that hour (snapshot_at); hours in which the collector prod…"
- "exchanges""exchanges that were fresh and therefore included in that hour's figure; a change in this list between points explains level shifts in the all-exchange series"
- "history_depth""hourly summaries are kept for 90 days; the series starts when the collector was first deployed (history_started_at), so fewer points than the requested range ma…"
- "oi_usd""sum over contracts of oi_coin x that exchange's spot index price (USDT/USDC treated 1:1 as USD); oi_coin is open interest in units of the underlying coin after …"
- "meta"
- "schema""coinboss.sd.options/1"
- "source"
- "observed_at"null
- "received_at"1794522484809
- "fetched_at"1794542300888
- "window""7d"
- "quality""STALE"
- "is_stale"true
- "cache_ttl_s"300
- "fallback""hours without a collector snapshot are absent from the series (no interpolation); PARTIAL means fewer hourly points exist than the requested range (history shor…"
É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ètres | HTTP | Latence | Résultat |
|---|---|---|---|
| coin=ETH&range=24h&metric=pcr | 200 | 2 ms | Réussi STALE |
| coin=BTC&metric=atm_iv | 200 | 3 ms | Réussi STALE |
| coin=BTC | 400 | 1 ms | Réussi renvoie l'erreur attendue |
Vérifié : 2026-11-13 03:58:20 UTC
Détails
- Authentification
- Aucune. Endpoint public.
- Limite de requêtes
- 1200 requêtes par minute et par IP
- Cache serveur
- 5m
- Micro-cache en périphérie
- 10s
- Fréquence de mise à jour
- Un point par heure, écrit à partir du dernier cycle de collecte de cette heure.
- Fenêtre
- 24h / 7d / 30d / 90d, points horaires.
- Sources de données
- Endpoints REST publics d'options de Deribit, Binance, Bybit, OKX, Gate et Coincall, collectés et stockés par CoinBoss (sd_opt_latest, sd_opt_summary_hourly). Aucun agrégateur tiers n'intervient.
- Couverture des plateformes
- Six plateformes d'options. Une crypto sans option cotée sur les plateformes sélectionnées renvoie HTTP 200 avec des champs null, `meta.quality = "UNAVAILABLE"` et la raison sous `coverage.unavailable`. Les plateformes dépourvues de flux public d'options y sont également listées.
- Pagination
- Pas de pagination ; `range` borne le nombre de points.
- Tri
- Temps croissant.
- Unités
- USD notional = contracts × contract size × spot index price of the venue. `*_coin` fields are in units of the underlying coin. Implied volatility is in percent (55 = 55 %). `vol_premium_usd_24h` is premium turnover, reported separately and never added to notional volume.
- 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
L'endpoint signale une qualité de données STALE
Disponibilité, 30 derniers jours
99.75 % des 407 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 →
| Code | HTTP | Signification | Que faire |
|---|---|---|---|
| INVALID_PARAM | 400 | Un 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. |
| UNAUTHORIZED | 401 | L'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. |
| FORBIDDEN | 403 | La route ne fait pas partie de l'API publique (interne ou réservée aux comptes). | Ne réessayez pas. |
| NOT_FOUND | 404 | Route 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_LIMITED | 429 | Plus 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. |
| INTERNAL | 500 | Erreur 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_FAILED | 503 | La 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. |
| UNAVAILABLE | 501 / 503 | Le 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_FAILED | 200 | Certains 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
/api/sd/options/historyDégradéstring — Coin symbol, case-insensitive (for example `BTC`). Missing or malformed values return 400.
string — Series to return.
string · défaut 7d — Look-back range; one point per hour, 2160 points at most.
string · défaut all — One venue, or `all` for the cross-venue aggregate.
https://www.coinboss.com/api/sd/options/history?coin=BTC&metric=oiAutres endpoints de cette catégorie
- Chaîne d'options (une plateforme) /api/sd/options/chain
- Options par échéance /api/sd/options/expiries
- Historique des options (horaire) /api/sd/options/history
- Vue d'ensemble des options (toutes plateformes) /api/sd/options/overview
- Options par strike /api/sd/options/strikes
- Synthèse des options de la page crypto /api/currency/options-summary
- Smile / structure par terme de la volatilité implicite des options /api/options/iv
- Historique de la volatilité implicite des options /api/options/iv-history
- Max pain des options /api/options/max-pain
- OI des options par échéance /api/options/oi-by-expiry
- OI des options par strike /api/options/oi-by-strike
- Vue d'ensemble des options /api/options/overview
- Répartition du volume des options /api/options/volume-dist