MetaTrader API — Centre d'aide
Utilisez la recherche ou parcourez les catégories à gauche. Chaque question possède sa propre URL partageable.
Utilisez la recherche ou parcourez les catégories à gauche. Chaque question possède sa propre URL partageable.
MetaTrader API est un service d'API REST hébergé qui vous permet d'interagir avec des comptes de trading MT4 et MT5 par programmation, sans avoir à faire tourner MetaTrader sur votre machine.
Vous connectez votre compte de trading une seule fois et, à partir de là, vous pouvez exécuter des ordres, récupérer les données du compte et lire les prix du marché depuis n'importe quel langage de programmation via des requêtes HTTP standard.
Pour tous les détails techniques, consultez la documentation officielle.
La mise en route prend moins de 30 minutes :
POST /v1/seats ou /ConnectEx).Le guide pas à pas se trouve dans la documentation sur l'authentification.
Tout langage capable d'effectuer des requêtes HTTP fonctionne avec MetaTrader API. Comme il s'agit d'une simple API REST sur HTTPS, vous pouvez utiliser Python, JavaScript/Node.js, Go, C#, Java, Ruby, PHP ou n'importe quel autre langage.
Cela fonctionne aussi avec des outils no-code comme Postman, Make (Integromat), n8n, Zapier, ou tout ce qui peut appeler un point de terminaison HTTP.
Oui. L'API prend en charge les comptes MetaTrader 4 (MT4) et MetaTrader 5 (MT5). Vous pouvez connecter et gérer des comptes des deux plateformes simultanément.
La facturation se fait par siège : chaque siège connecte un compte MT4 ou un compte MT5, et vous pouvez combiner des sièges MT4 et MT5 dans le même abonnement.
MT4 et MT5 proposent les mêmes points de terminaison ; seule différence : les ordres stop-limit n'existent que sur MT5. La référence complète par plateforme figure dans la documentation.
Non. C'est précisément la raison d'être de ce service. MetaTrader API fonctionne entièrement côté serveur. Vous renseignez une fois les identifiants de votre courtier, et l'API maintient la connexion au courtier pour vous.
Vous n'avez pas besoin d'installer MetaTrader, ni de laisser une application de bureau tourner, ni d'écrire d'Expert Advisors en MQL.
Transmettez votre clé d'API dans l'en-tête x-api-key et l'UUID du compte dans le paramètre de requête id (ou accountId) :
curl -X GET "https://api.metatraderapi.net/AccountSummary?id=YOUR_ACCOUNT_UUID" \
-H "x-api-key: YOUR_API_KEY"
Vous créez la clé d'API sur la carte du compte dans le tableau de bord avec Generate key ; elle n'est affichée qu'une seule fois. La clé de gestion de l'onglet Settings (Paramètres) sert au provisionnement, pas à l'en-tête x-api-key.
La clé d'API d'un compte se crée sur la carte de ce compte dans le tableau de bord, sur app.metatraderapi.net : cliquez sur Generate key. Elle n'est affichée qu'une seule fois, conservez-la tout de suite. /ConnectEx et POST /v1/seats renvoient aussi une nouvelle clé pour le compte qu'ils connectent. L'onglet Settings (Paramètres) contient votre clé de gestion, qui sert au provisionnement (créer et supprimer des sièges), pas aux appels de trading.
Bonne pratique : stockez-la dans une variable d'environnement (par exemple MTAPI_KEY) et injectez-la à l'exécution.
Deux méthodes sont possibles :
Connectez-vous sur app.metatraderapi.net, allez dans la section Accounts (Comptes) et saisissez vos identifiants MT4/MT5 (numéro de connexion, mot de passe, nom du serveur du courtier). Une fois le compte connecté, vous recevez un UUID unique pour celui-ci.
Depuis un backend, utilisez POST /v1/seats avec un corps JSON et votre clé de gestion. Vous pouvez aussi appeler /ConnectEx?user=&password=&server=&platform=MT5&wait=60 avec une clé de gestion ou une clé d'API qui n'est ni en lecture seule ni limitée à un compte. Les deux renvoient l'id du compte et une nouvelle apiKey pour celui-ci. Les paramètres exacts et le format de réponse figurent dans la documentation de l'API.
BrokerName-Live ou BrokerName-Demo.Utilisez /CheckConnect?id=. La réponse est true ou false : elle indique si le compte est actuellement connecté à son courtier. Le service rétablit automatiquement les connexions perdues. /ConnectState?id= indique l'état et son statusReason, et /Reconnect?id= force une reconnexion.
Les détails du format de requête et des valeurs de réponse figurent dans la documentation.
Utilisez /Disconnect?id= (ou DELETE /v1/seats/{id} avec une clé de gestion) pour déconnecter et supprimer un compte de trading connecté. Vous pouvez lister tous les comptes actuellement connectés avec /ConnectState appelé sans id (ou avec GET /v1/seats).
La déconnexion libère le siège du compte. Il reste payé jusqu'à la fin du mois de facturation, et le prochain compte que vous connectez l'utilise sans frais supplémentaires.
Les paramètres de requête figurent dans la documentation de l'API.
Autant que vous avez de sièges. La facturation se fait par siège : un siège = un compte connecté à la fois. Ajoutez des sièges quand vous en avez besoin (14 $ par siège et par mois pour les sièges 1 à 4, 13 $ pour les sièges 5 à 19 et 12 $ à partir du 20e siège, facturés d'avance).
Chaque client peut disposer de 50 sièges au maximum ; davantage sur demande — contactez le support.
L'API couvre l'ensemble du cycle de trading :
/OrderClose), ou contre une position opposée (/OrderCloseBy)Tous les points de terminaison, paramètres et formats de réponse figurent dans la documentation de l'API.
Utilisez l'endpoint /OrderSend. Comme tous les points de terminaison classiques, c'est une requête GET avec des paramètres de requête : symbole, opération (Buy, Sell, BuyLimit…), volume en lots et, en option, stop loss, take profit, un commentaire et un clientOrderId :
curl -H "x-api-key: YOUR_API_KEY" \
"https://api.metatraderapi.net/OrderSend?id=YOUR_ACCOUNT_UUID&symbol=EURUSD&operation=Buy&volume=0.01&clientOrderId=order-1"
Les paramètres sont identiques sur MT4 et MT5. Les ordres stop-limit (stopLimitPrice) n'existent que sur MT5. Les ordres en attente acceptent un paramètre expiration facultatif ; expirationType est ignoré sur MT5.
Utilisez les points de terminaison /OrderHistory ou /OrderHistoryPagination. Les deux filtrent uniquement par période (from et to, ISO-8601 ou secondes Unix) ; /OrderHistoryPagination découpe le résultat en pages (ordersPerPage, pageNumber). Le filtrage par ticket et le tri se font dans votre propre code. Pour des requêtes plus fines, MT4 et MT5 proposent aussi /PendingOrderHistory et /HistoryDealsByPositionId.
La référence complète des paramètres figure dans la documentation.
Oui. L'API fournit une connexion WebSocket (événements) pour la diffusion en temps réel. Vous recevez ainsi les mises à jour directement, au lieu d'interroger les points de terminaison REST en boucle.
Via le flux WebSocket (wss://api.metatraderapi.net/v1/stream?id=, authentifié par l'en-tête x-api-key), vous recevez les cotations et bougies en direct des symboles auxquels vous êtes abonné, vos positions ouvertes avec leur profit en direct, les ordres en attente et chaque transaction exécutée, ainsi qu'un heartbeat toutes les 10 secondes. Jusqu'à 25 flux peuvent être ouverts par compte.
Pour les cours acheteur/vendeur en direct, vous pouvez utiliser le point de terminaison REST /GetQuote (ou /GetQuoteMany pour plusieurs symboles), ou vous abonner aux cotations via le flux WebSocket pour des mises à jour continues en temps réel.
/GetQuote prend l'id du compte et un symbol. Les réponses sont mises en cache 250 ms par compte et par symbole ; ajoutez cached=0 pour contourner le cache.
Pour les bougies OHLC historiques, utilisez /PriceHistory sur MT4 et MT5 (/QuoteHistory en est un alias) — voir la documentation pour les unités de temps et les paramètres.
Il existe une seule offre : vous payez par siège, et chaque siège inclut l'API complète — REST, streaming WebSocket et prise en charge de MT4 comme de MT5. Prix hors TVA :
Chaque siège accueille un compte MT4 ou MT5 connecté à la fois et est facturé d'avance pour un mois de facturation complet. Exemple : 10 sièges coûtent 4 × 14 $ + 6 × 13 $ = 134 $ par mois. Tous les prix sont confirmés sur la page des tarifs.
Non. Nous ne proposons pas d'essai gratuit pour le moment. Pour toute question sur l'évaluation de l'API, contactez-nous par Telegram ou par e-mail à support@metatraderapi.net.
Vous pouvez commencer avec un seul siège pour 14 $ et en ajouter d'autres une fois votre intégration opérationnelle.
Oui. L'offre par siège est facturée au siège, et chaque siège accueille un compte connecté à la fois. Lorsque tous vos sièges sont utilisés, connecter un compte supplémentaire ajoute un siège à 14 $ par mois (13 $ pour les sièges 5 à 19, 12 $ à partir du 20e), facturé d'avance au moment de l'ajout. Déconnecter un compte libère son siège pour le suivant sans frais, et vous pouvez libérer les sièges inutilisés depuis votre tableau de bord. Chaque client peut disposer de 50 sièges au maximum ; davantage sur demande — contactez le support.
Le paiement se fait par carte de crédit ou de débit via Stripe, sous forme d'abonnement facturé mensuellement. Nous n'acceptons ni les cryptomonnaies ni les virements bancaires.
En passant commande, vous acceptez également le contrat de services Stripe.
Oui, à tout moment. La résiliation prend effet à la fin du mois de facturation en cours : aucun remboursement partiel n'est effectué pour les jours non utilisés.
Le service est exploité par Apex Vanguard Dynamics LLC, une société à responsabilité limitée (LLC) immatriculée aux États-Unis, dont le siège social est situé 30 N Gould St Ste R, Sheridan, WY 82801, États-Unis.
Contact : support@metatraderapi.net · Téléphone : +1 (929) 333-6422
Les informations légales complètes figurent dans les mentions légales.
Les conditions générales sont régies par le droit de l'État du Wyoming, États-Unis. Tout litige relève de la compétence exclusive des tribunaux du Wyoming, et les deux parties s'engagent à tenter d'abord un règlement par une négociation de bonne foi.
Vous pouvez consulter les conditions générales complètes sur le site.
Non. Les conditions d'utilisation exigent expressément que vous gardiez confidentiels vos identifiants et vos clés d'API et que vous ne les partagiez pas avec des tiers sans accord écrit préalable de MetaTrader API.
Si vous construisez un produit ou un service au-dessus de l'API (par exemple pour vos propres clients), vous devez mettre en place votre propre couche d'authentification et conserver la clé MetaTrader API uniquement côté serveur — ne l'exposez jamais aux utilisateurs finaux.
Non. Les conditions d'utilisation interdisent l'extraction (scraping) et la revente des données du service sans autorisation écrite explicite de MetaTrader API. Les abonnements ne sont pas non plus transférables.
Si vous avez un cas d'usage commercial précis, écrivez à support@metatraderapi.net.
Oui. Des NDA sont disponibles sur demande et doivent être convenus par écrit entre les deux parties. Les conditions standard s'appliquent sauf négociation contraire.
Écrivez à support@metatraderapi.net pour en demander un.
MetaTrader API protège les comptes connectés par les mesures suivantes :
Les mesures de sécurité, les sous-traitants et la disponibilité mesurée sont documentés dans le Centre de confiance ; le traitement des données est décrit dans la politique de confidentialité.
MetaTrader API est exploité par une société américaine (voir Qui exploite MetaTrader API ?) et déclare se conformer au droit applicable en matière de protection des données, y compris le RGPD lorsqu'il s'applique aux utilisateurs de l'UE/EEE.
Données personnelles collectées : informations de compte (nom, adresse e-mail, informations de facturation), données d'utilisation (journaux d'API, adresse IP, navigateur et système d'exploitation) et informations de paiement traitées via Stripe.
Nous ne vendons pas de données personnelles. Elles ne sont partagées qu'avec des prestataires qui les traitent pour notre compte (hébergement, paiement, envoi d'e-mails, par exemple), et un accord de traitement des données (DPA) est disponible pour les clients. Tous les détails figurent dans la politique de confidentialité et le Centre de confiance.
Selon la politique de confidentialité, les données suivantes peuvent être collectées :
Pour les comptes de trading connectés, les identifiants de connexion au courtier sont également stockés (chiffrés au repos avec AES-256-GCM), et les données de trading récupérées par l'API sont traitées pour votre compte. Les données clients et les serveurs de l'API sont situés dans l'UE (Finlande et Allemagne). Les sièges en hébergement privé fonctionnent dans la région de votre choix.
Lisez la politique de confidentialité complète pour toutes les informations.
Les causes les plus fréquentes d'échec de connexion :
ICMarkets-Live02). Vous le trouverez dans MetaTrader sous Fichier → Ouvrir un compte.Vérifiez l'état actuel de la connexion avec /CheckConnect. Si le problème persiste, écrivez à support@metatraderapi.net.
Les erreurs d'authentification signifient généralement que la clé d'API est absente, incorrecte ou envoyée dans un format erroné. Vérifiez les points suivants :
x-api-key — et non Authorization: Bearer.Le format correct figure dans la documentation sur l'authentification.
MetaTrader API publie sa disponibilité mesurée sur une page de statut publique, avec le statut en direct et l'historique de disponibilité de l'API REST, du streaming WebSocket et du tableau de bord. Il n'existe ni SLA ni engagement de disponibilité ; le Centre de confiance explique comment le service est exploité.
À noter : conformément aux conditions d'utilisation, le service est fourni « en l'état » et « selon disponibilité » — un fonctionnement ininterrompu ou sans erreur n'est pas garanti contractuellement. Pour les systèmes en production, implémentez toujours de votre côté une logique de nouvelle tentative et une gestion des erreurs.
Les refus d'ordres viennent du serveur de trading du courtier, pas de MetaTrader API. Causes fréquentes :
EURUSD ou EURUSDm).Un refus du courtier n'est pas une erreur HTTP : l'API répond HTTP 200 avec l'objet ordre, dont le champ state contient le code de résultat du courtier. 10009 signifie exécuté ; toute autre valeur indique le motif (par exemple 10016 stops invalides, 10018 marché fermé, 10019 fonds insuffisants ; sur MT4, le numéro d'erreur MT4).