Démarrer avec l'API Binance : Votre première ligne de code Python pour consulter le marché
L'API est la clé pour automatiser vos transactions. Apprenez à créer une clé API et à écrire vos premières lignes de code Python pour interroger le marché Binance.
L'API est l'outil indispensable pour le trading algorithmique et l'automatisation. Commencez par vous inscrire sur le site officiel de Binance et téléchargez l' application officielle de Binance (pour iOS, voir le tutoriel d'installation iOS).
Qu'est-ce qu'une API ?
L'API (Application Programming Interface) permet à votre programme de remplacer vos doigts pour appeler toutes les fonctionnalités de Binance :
- Consulter les cours du marché.
- Passer des ordres.
- Annuler des ordres.
- Vérifier vos positions.
- Effectuer des transferts (soumis à restrictions).
Création d'une clé API
Étapes
- Connectez-vous à la version web de Binance.
- Cliquez sur votre icône de profil → Gestion de l'API.
- Cliquez sur Créer une API.
- Choisissez API générée par le système → Saisissez votre 2FA → Nommez votre clé.
- Terminé.
Deux éléments seront générés :
- API Key (Identifiant public).
- Secret Key (Signature privée).
La Secret Key ne s'affiche qu'une seule fois : enregistrez-la immédiatement en lieu sûr.
Paramétrage des permissions
Vous pouvez choisir les permissions pour chaque clé :
- Activer le trading Spot et sur Marge.
- Activer les Futures.
- Activer les retraits (Déconseillé).
- Activer l'emprunt sur marge.
Conseil pour débutants : Activez uniquement la "Lecture seule" au début. Ne donnez jamais la permission de retrait, car cela représente un risque élevé, même avec une liste blanche IP.
Liste blanche IP (IP Whitelist)
Il est fortement recommandé de lier votre clé à une adresse IP fixe. Seules les requêtes provenant de cette adresse seront acceptées. Si votre connexion domestique est dynamique, utilisez un serveur VPS.
Votre première ligne en Python
import requests
r = requests.get('https://api.binance.com/api/v3/ticker/price?symbol=BTCUSDT')
print(r.json())
Résultat : {'symbol': 'BTCUSDT', 'price': '63500.5'}
L'accès aux données de marché publiques est le plus simple car il ne nécessite pas de clé API.
Requêtes authentifiées
Les interfaces privées (comme passer un ordre) nécessitent une signature. Exemple en Python :
import time, hmac, hashlib, requests
api_key = 'VOTRE_CLE'
secret = 'VOTRE_SECRET'
ts = int(time.time() * 1000)
params = f'symbol=BTCUSDT×tamp={ts}'
sig = hmac.new(secret.encode(), params.encode(), hashlib.sha256).hexdigest()
url = f'https://api.binance.com/api/v3/account?{params}&signature={sig}'
r = requests.get(url, headers={'X-MBX-APIKEY': api_key})
print(r.json())
Cela renverra le solde de votre compte Spot.
Bibliothèques Python populaires
Ne repartez pas de zéro, utilisez des SDK éprouvés :
python-binance: Le SDK le plus populaire.ccxt: Bibliothèque universelle supportant de nombreuses plateformes.binance-connector-python: Le SDK officiel de Binance.
from binance.client import Client
client = Client(api_key, secret)
print(client.get_account())
Cela réduit considérablement la quantité de code à écrire.
Limitation de débit (Rate Limit)
L'API de Binance impose des limites :
- Cours du marché publics : 1 200 "weight" par minute.
- Interfaces privées : 120 "weight" par 10 secondes.
En cas de dépassement, votre IP sera temporairement bloquée. Le "weight" varie selon l'interface (passer un ordre = 1 weight, consulter les positions = 10 weight).
Erreurs courantes
1. -1021 Erreur de timestamp
Le serveur de Binance et votre ordinateur ont un décalage de plus de 5 secondes. Synchronisez l'heure de votre système.
2. -2010 Solde insuffisant
Le solde de votre compte est insuffisant pour l'ordre demandé.
3. -2011 Échec de l'annulation
L'ordre a déjà été exécuté ou n'existe pas.
4. -1003 Limitation IP
Trop de requêtes envoyées. Ralentissez le rythme.
REST vs WebSocket
| Usage | REST | WebSocket |
|---|---|---|
| Requête ponctuelle | Oui | Non |
| Flux de données temps réel | Non | Oui |
| Instantané de Klines | Oui | Non |
| Push de prix | Non | Oui |
La plupart des stratégies quantitatives utilisent une combinaison des deux.
Exemple WebSocket
import websocket
ws = websocket.WebSocketApp('wss://stream.binance.com:9443/ws/btcusdt@trade',
on_message=lambda ws, msg: print(msg))
ws.run_forever()
Chaque transaction BTC/USDT vous sera envoyée instantanément.
Réseaux de test (Testnet)
Binance propose des Testnets pour s'entraîner sans risque :
- testnet.binance.vision (Spot)
- testnet.binancefuture.com (Futures)
C'est l'étape indispensable pour tout débutant avant de miser de l'argent réel.
Gestion des risques API
1. Gestion individuelle des clés
Utilisez une clé différente pour chaque stratégie. En cas de problème, vous n'aurez qu'à supprimer la clé concernée.
2. Sauvegarde et chiffrement
Conservez votre Secret Key dans un gestionnaire de mots de passe. Ne l'écrivez jamais en clair dans votre code.
3. Désactiver les retraits
À moins d'un besoin spécifique et mûrement réfléchi de retraits automatisés, laissez cette option désactivée.
4. Audit
Vérifiez chaque semaine votre liste d'API et supprimez les clés inutilisées.
Utilisations de l'API
- Stratégies quantitatives (Ouverture/clôture automatique).
- Surveillance (Notifications de changement d'actifs).
- Arbitrage automatique.
- Analyse de données (Récupération d'historiques de Klines).
- Copy-trading (Réplication des transactions d'un tiers).
- Indicateurs et alertes personnalisés.
Parcours d'apprentissage
- Faire un "Hello World" sur le Testnet.
- Récupérer les cours via un SDK.
- Écrire un script simple "Alerte si prix < X".
- Tester une stratégie simple en réel avec de petits montants et peu de levier.
- Optimiser et renforcer la gestion des risques.
- Engager des capitaux plus importants.
Questions Fréquemment Posées
L'utilisation de l'API nécessite-t-elle un KYC ? Votre compte doit être vérifié (KYC), mais l'API elle-même ne nécessite pas de certification supplémentaire.
Y a-t-il des frais pour l'utilisation de l'API ? Les frais de transaction sont identiques à ceux de l'application. Les remises liées au niveau VIP s'appliquent également.
Peut-on payer les frais en BNB via l'API ? Oui, c'est un réglage au niveau du compte.
L'API peut-elle remplacer totalement l'application ? Oui, à condition de maîtriser le code et la gestion des risques.
Lectures complémentaires
L'API est l'arme fatale du trader moderne. Commencez par pratiquer sur le Testnet, et dans quelques mois, vous pourrez déployer vos propres stratégies automatisées.