Vue d’ensemble
Une requête, une réponse déjà agrégée. Toutes les routes partagent la même forme, la même enveloppe et les mêmes paramètres transverses : ce qui est vrai d’une famille l’est des autres.
#La forme d’une requête
GET https://api.bytnode.com/v1/<famille>/<metrique>
?symbol=BTCUSDT # obligatoire sur les routes par actif
&timeframe=1h # sur les routes bucketees
&limit=100 # sur les routes /history
&fields=timestamp,rate
X-API-KEY: votre_cleLe chemin dit la famille et la métrique. Les paramètres disent l’actif, le pas de temps et la profondeur. L’en-tête porte la clé. Il n’y a rien d’autre à connaître pour appeler n’importe laquelle des routes.
Un seul endpoint échappe à cette forme : POST /v1/indicators, qui reçoit un corps JSON parce qu’il décrit un calcul, pas une lecture.
#Dernière valeur ou historique
La plupart des métriques existent en deux versions. La route nue rend la dernière valeur — un objet, ou null. Le suffixe /history rend une liste, du plus récent au plus ancien.
# La derniere valeur
GET /v1/basis?symbol=BTCUSDT
# Les 200 dernieres, de la plus recente a la plus ancienne
GET /v1/basis/history?symbol=BTCUSDT&limit=200
# Une fenetre datee, en millisecondes
GET /v1/basis/history?symbol=BTCUSDT&since_ms=1756425600000&until_ms=1756512000000#Paramètres communs
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
symbol | string | requis | L’actif, au format du catalogue — BTCUSDT. Absent : 422. Inconnu : 400 avec la liste. Les routes marché entier ne l’acceptent pas. |
timeframe | string | requis | Sur les routes bucketées : 1m, 5m, 15m, 30m, 1h, 4h, 1d. Hors liste : 422. |
limit | integer | 100 | Sur les routes /history. Plafond de 1000 en général, 500 sur le ratio long/short et les écarts entre places. |
since_ms / until_ms | integer | — | Fenêtre temporelle en millisecondes Unix, quand la route l’accepte. Le filtre s’applique avant limit. |
live | boolean | false | Sur les routes bucketées de dernière valeur : expose la période en cours, marquée is_closed: false. |
fields | string | — | Projection CSV de data, notation pointée pour l’imbriqué. Champ inconnu : 422 avec suggestion. |
Ce qui n’existe pas
Le paramètre exchange n’existe sur aucune route : les réponses sont agrégées et ne nomment pas leur place, à la seule exception des écarts entre places. Le passer rend 422.
#Les familles
Toutes les routes tiennent sur une page dans le catalogue des endpoints.