Lors de l'utilisation de l'API Binance pour le trading algorithmique ou l'analyse de donnees, la limitation de frequence est l'un des problemes les plus penibles. Trop de requetes et votre IP est bloquee ; trop peu et votre strategie est penalisee.
Limites de frequence de l'API Binance
Apres votre inscription sur Binance et la creation d'une cle API, vous devez respecter les limites suivantes :
Limites de l'API REST
Poids des requetes (Request Weight)
Binance n'impose pas simplement un nombre de requetes par minute, mais utilise un systeme de "poids". Differents endpoints consomment differents poids :
- Requete de cours standard : poids 1-5
- Requete de profondeur de marche : poids 5-50 (selon la profondeur demandee)
- Passage d'ordre : poids 1
- Requete d'informations du compte : poids 5-10
Limites par defaut :
- 1200 de poids par minute (par IP)
- 100 ordres par 10 secondes (par compte)
- 200 000 ordres par jour (par compte)
Limites WebSocket
- Maximum 200 flux de donnees par connexion
- Nombre limite de connexions WebSocket par IP
- Maximum 5 messages par seconde par connexion
Comment connaitre sa consommation ?
Chaque reponse API inclut dans les headers la consommation actuelle :
X-MBX-USED-WEIGHT-1m: poids utilise dans la minute en coursX-MBX-ORDER-COUNT-10s: nombre d'ordres dans les 10 dernières secondesX-MBX-ORDER-COUNT-1d: nombre d'ordres du jour
Lisez ces headers pour surveiller votre consommation.
Que se passe-t-il en cas de depassement ?
HTTP 429
Lorsque vous depassez la limite de frequence, l'API retourne une erreur HTTP 429 (Too Many Requests) :
- L'IP ou le compte est temporairement restreint
- Il faut attendre la fin du delai de refroidissement
- Ce delai est generalement de quelques secondes a quelques minutes
HTTP 418
Si vous continuez a depasser les limites sans vous adapter, vous pouvez recevoir une erreur 418, signifiant que votre IP est bannie plus longtemps (de quelques minutes a plusieurs jours).
Comment eviter les depassements ?
1. Utiliser WebSocket au lieu du polling
Pour les cours en temps reel, n'utilisez pas l'API REST en boucle. Utilisez les flux WebSocket en mode push, qui ne consomment pas de poids REST API.
// Deconseille : appeler l'API REST chaque seconde pour le prix
// Recommande : s'abonner au WebSocket pour les prix en temps reel
2. Regrouper les requetes
Pour consulter plusieurs paires de trading, utilisez les endpoints batch pour tout recuperer en une seule requete.
3. Mettre en cache les donnees
Les donnees ne necessitant pas d'etre en temps reel (regles de trading, informations sur les actifs) ne doivent pas etre requetees a chaque fois. Mettez-les en cache et actualisez periodiquement.
4. Surveiller la consommation de poids
Enregistrez la consommation de poids de chaque requete dans votre code et ralentissez automatiquement a l'approche de la limite.
5. Espacer les requetes
Controlez la frequence des requetes avec des delais au lieu de tout envoyer d'un coup.
Differences de limites selon le niveau de compte
Plus le niveau VIP est eleve, plus les limites sont genereuses :
- Utilisateur standard : limites par defaut
- VIP 1-3 : legere augmentation
- VIP 4+ : poids et limites d'ordres plus eleves
- Comptes de market maker : limites maximales
Si votre strategie necessite une frequence plus elevee, envisagez de monter en niveau VIP (en augmentant votre volume de trading ou en detenant du BNB).
Questions frequentes
Q : Peut-on contourner les limites avec plusieurs IP ? Les limites de poids sont a la fois par IP et par compte. Utiliser plusieurs IP contourne la limite par IP, mais pas les limites d'ordres par compte.
Q : Les limites du testnet sont-elles identiques ? Les limites du testnet peuvent differer de celles du mainnet.
Q : Les limites changent-elles ? Oui. Binance peut ajuster les limites selon la charge du systeme. Suivez les annonces pour les dernieres informations.
Si vous n'avez pas encore l'application, vous pouvez d'abord telecharger l'application Binance.
Resume
L'API Binance utilise un systeme de poids pour controler la frequence, avec 1200 de poids par minute par defaut. En cas de depassement, vous recevrez des erreurs 429 ou 418. Les strategies d'optimisation incluent l'utilisation de WebSocket, le regroupement de requetes, la mise en cache et la surveillance du poids. Plus le niveau VIP est eleve, plus les limites sont genereuses.