MetaTrader API — Central de ajuda
Busque ou navegue pelas categorias à esquerda para encontrar respostas. Cada pergunta tem a própria URL para compartilhar.
Busque ou navegue pelas categorias à esquerda para encontrar respostas. Cada pergunta tem a própria URL para compartilhar.
A MetaTrader API é um serviço de API REST hospedado que permite interagir com contas de trading de MT4 e MT5 de forma programática, sem precisar executar o MetaTrader no seu computador.
Você conecta sua conta de trading uma única vez e, a partir daí, pode executar operações, consultar dados da conta e ler preços de mercado a partir de qualquer linguagem de programação usando requisições HTTP padrão.
Para todos os detalhes técnicos, consulte a documentação oficial.
Começar leva menos de 30 minutos:
POST /v1/seats ou /ConnectEx).Veja o guia passo a passo na documentação de autenticação.
Qualquer linguagem capaz de fazer requisições HTTP funciona com a MetaTrader API. Por ser uma API REST sobre HTTPS, você pode usar Python, JavaScript/Node.js, Go, C#, Java, Ruby, PHP ou qualquer outra linguagem.
Também funciona com ferramentas no-code como Postman, Make (Integromat), n8n, Zapier ou qualquer coisa capaz de chamar um endpoint HTTP.
Sim. A API suporta contas do MetaTrader 4 (MT4) e do MetaTrader 5 (MT5). Você pode conectar e gerenciar contas das duas plataformas simultaneamente.
A cobrança é por assento: cada assento conecta uma conta MT4 ou uma conta MT5, e você pode misturar assentos MT4 e MT5 na mesma assinatura.
MT4 e MT5 oferecem os mesmos endpoints; a única diferença é que ordens stop-limit existem só no MT5. Consulte a documentação para a referência completa de endpoints por plataforma.
Não. Esse é justamente o propósito deste serviço. A MetaTrader API roda inteiramente no servidor. Você conecta as credenciais da sua corretora uma vez e a API mantém a conexão com a corretora em seu nome.
Você não precisa instalar o MetaTrader, nem manter nenhum aplicativo de desktop em execução, nem programar Expert Advisors em MQL.
Use sua chave de API no cabeçalho x-api-key e passe o UUID da conta como parâmetro de consulta id (ou accountId):
curl -X GET "https://api.metatraderapi.net/AccountSummary?id=YOUR_ACCOUNT_UUID" \
-H "x-api-key: YOUR_API_KEY"
Você cria a chave de API no cartão da conta no painel com Generate key; ela é exibida só uma vez. A chave de gerenciamento em Settings (Configurações) serve para o provisionamento, não para o cabeçalho x-api-key.
A chave de API de uma conta é criada no cartão dessa conta no painel, em app.metatraderapi.net: clique em Generate key. Ela é exibida só uma vez, então guarde-a imediatamente. /ConnectEx e POST /v1/seats também retornam uma nova chave para a conta que conectam. A aba Settings (Configurações) guarda sua chave de gerenciamento, que serve para o provisionamento (criar e remover assentos), não para chamadas de trading.
Boa prática: guarde-a como variável de ambiente (por exemplo MTAPI_KEY) e injete-a em tempo de execução.
Você pode conectar contas de duas formas:
Faça login em app.metatraderapi.net, vá até a seção Accounts (Contas) e adicione suas credenciais de MT4/MT5 (número de login, senha e nome do servidor da corretora). Depois de conectada, você recebe um UUID único para essa conta.
A partir de um backend, use POST /v1/seats com um corpo JSON e sua chave de gerenciamento. Como alternativa, chame /ConnectEx?user=&password=&server=&platform=MT5&wait=60 com uma chave de gerenciamento ou uma chave de API que não seja somente leitura nem restrita a uma conta. Ambos retornam o id da conta e uma nova apiKey para ela. Os parâmetros exatos e o formato da resposta estão na documentação da API.
NomeDaCorretora-Live ou NomeDaCorretora-Demo.Use /CheckConnect?id=. A resposta é true ou false: se a conta está conectada à corretora neste momento. O serviço restabelece automaticamente as conexões perdidas. /ConnectState?id= mostra o status e o statusReason, e /Reconnect?id= força uma reconexão.
Para detalhes sobre o formato da requisição e os valores de resposta, consulte a documentação.
Use /Disconnect?id= (ou DELETE /v1/seats/{id} com uma chave de gerenciamento) para desconectar e remover uma conta de trading conectada. Você pode listar todas as contas conectadas no momento com /ConnectState sem id (ou com GET /v1/seats).
Desconectar libera o assento da conta. Ele continua pago até o fim do mês de cobrança, e a próxima conta que você conectar o usa sem custo adicional.
Consulte a documentação da API para os parâmetros da requisição.
Quantos assentos você tiver. A cobrança é por assento: um assento = uma conta conectada por vez. Adicione assentos sempre que precisar (US$ 14 por assento por mês do 1º ao 4º assento, US$ 13 do 5º ao 19º e US$ 12 a partir do 20º, cobrados antecipadamente).
Cada cliente pode ter até 50 assentos; mais sob consulta — fale com o suporte.
A API cobre todo o ciclo de negociação:
/OrderClose), ou contra uma posição oposta (/OrderCloseBy)Para detalhes completos de endpoints, parâmetros e formatos de resposta, consulte a documentação da API.
Use o endpoint /OrderSend. Como todo endpoint clássico, é uma requisição GET com parâmetros de consulta: símbolo, operação (Buy, Sell, BuyLimit, ...), volume em lotes e, opcionalmente, stop loss, take profit, um comentário e um 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"
Os parâmetros são os mesmos no MT4 e no MT5. Ordens stop-limit (stopLimitPrice) existem só no MT5. Ordens pendentes aceitam um expiration opcional; expirationType é ignorado no MT5.
Use os endpoints /OrderHistory ou /OrderHistoryPagination. Os dois filtram apenas por período (from e to, ISO-8601 ou segundos Unix); /OrderHistoryPagination divide o resultado em páginas (ordersPerPage, pageNumber). Filtrar por ticket ou ordenar fica a cargo do seu código. Para consultas mais detalhadas, o MT4 e o MT5 também oferecem /PendingOrderHistory e /HistoryDealsByPositionId.
A referência completa de parâmetros está na documentação.
Sim. A API oferece uma conexão WebSocket (eventos) para streaming em tempo real. Isso permite receber atualizações ao vivo em vez de consultar repetidamente os endpoints REST.
Pelo stream WebSocket (wss://api.metatraderapi.net/v1/stream?id=, autenticado com o cabeçalho x-api-key) você recebe cotações e candles ao vivo dos símbolos assinados, suas posições abertas com lucro ao vivo, ordens pendentes e cada negociação executada, além de um heartbeat a cada 10 segundos. Cada conta pode ter até 25 streams abertos.
Para preços bid/ask ao vivo você pode usar o endpoint REST /GetQuote (ou /GetQuoteMany para vários símbolos), ou assinar as cotações pelo stream WebSocket para receber atualizações contínuas em tempo real.
/GetQuote recebe o id da conta e um symbol. As respostas ficam em cache por 250 ms por conta e símbolo; adicione cached=0 para ignorar o cache.
Para candles OHLC históricos, use /PriceHistory no MT4 e no MT5 (/QuoteHistory é um alias dele) — veja a documentação para os timeframes e parâmetros.
Existe um único plano: você paga por assento, e cada assento inclui a API completa — REST, streaming por WebSocket e suporte a MT4 e MT5. Preços sem IVA (imposto sobre valor agregado da UE):
Cada assento comporta uma conta MT4 ou MT5 conectada por vez e é cobrado antecipadamente por um mês de cobrança completo. Exemplo: 10 assentos custam 4 × US$ 14 + 6 × US$ 13 = US$ 134 por mês. Todos os preços são confirmados na página de preços.
Não. No momento não oferecemos teste grátis. Se tiver dúvidas sobre como avaliar a API, fale com a gente pelo Telegram ou por e-mail em support@metatraderapi.net.
Você pode começar com um único assento por US$ 14 e adicionar mais quando sua integração estiver funcionando.
Sim. O plano por assento é cobrado por assento, e cada assento comporta uma conta conectada por vez. Quando todos os seus assentos estão em uso, conectar outra conta adiciona um assento por US$ 14 por mês (US$ 13 para os assentos 5–19, US$ 12 a partir do 20º), cobrado antecipadamente no momento em que é adicionado. Desconectar uma conta libera o assento para a próxima sem custo, e você pode liberar assentos sem uso no painel. Cada cliente pode ter até 50 assentos; mais sob consulta — fale com o suporte.
O pagamento é feito com cartão de crédito ou débito pela Stripe, como assinatura cobrada mensalmente. Não aceitamos cripto nem transferência bancária.
Ao fazer um pedido, você também aceita o Contrato de Serviços da Stripe.
Sim, você pode cancelar a qualquer momento. Os cancelamentos passam a valer no fim do mês de cobrança em curso: não há reembolso proporcional por dias não utilizados.
O serviço é operado pela Apex Vanguard Dynamics LLC, uma sociedade de responsabilidade limitada (LLC) registrada nos Estados Unidos, com endereço registrado em 30 N Gould St Ste R, Sheridan, WY 82801, Estados Unidos.
E-mail de contato: support@metatraderapi.net · Telefone: +1 (929) 333-6422
Para os dados jurídicos completos, consulte o aviso legal.
Os Termos e Condições são regidos pelas leis do Estado de Wyoming, Estados Unidos. Qualquer controvérsia fica sujeita à jurisdição exclusiva dos tribunais de Wyoming, e ambas as partes concordam em tentar resolvê-la primeiro por negociação de boa-fé.
Você pode ler os Termos e Condições completos no site.
Não. Os Termos de Serviço exigem expressamente que você mantenha suas credenciais de acesso e chaves de API em sigilo e não as compartilhe com terceiros sem consentimento prévio por escrito da MetaTrader API.
Se você está construindo um produto ou serviço sobre a API (por exemplo, para seus próprios clientes), deve implementar sua própria camada de autenticação e manter a chave da MetaTrader API apenas no servidor: nunca a exponha aos usuários finais.
Não. Os Termos de Serviço proíbem extrair (scraping) ou revender dados do serviço sem autorização expressa e por escrito da MetaTrader API. As assinaturas também não são transferíveis.
Se você tem um caso de negócio específico, escreva para support@metatraderapi.net.
Sim. Acordos de confidencialidade estão disponíveis sob solicitação e devem ser acordados mutuamente por escrito. Aplicam-se as condições padrão de NDA, salvo se negociado de outra forma.
Escreva para support@metatraderapi.net para solicitar.
A MetaTrader API protege as contas conectadas com as seguintes medidas:
Medidas de segurança, suboperadores e a disponibilidade medida estão documentados na Central de Confiança; o tratamento de dados é descrito na Política de Privacidade.
A MetaTrader API é operada por uma empresa dos Estados Unidos (veja Quem opera a MetaTrader API?) e declara conformidade com a legislação de proteção de dados aplicável, incluindo o GDPR quando aplicável a usuários da UE/EEE.
Dados pessoais coletados: informações da conta (nome, e-mail, dados de faturamento), dados de uso (logs da API, endereço IP, navegador e sistema operacional) e informações de pagamento processadas pela Stripe.
Não vendemos dados pessoais. Eles são compartilhados apenas com prestadores de serviço que os tratam em nosso nome (como hospedagem, pagamentos e envio de e-mails), e um acordo de processamento de dados (DPA) está disponível para clientes. Todos os detalhes estão na Política de Privacidade e na Central de Confiança.
Segundo a Política de Privacidade, os seguintes dados podem ser coletados:
Para contas de trading conectadas, as credenciais de acesso à corretora também são armazenadas (criptografadas em repouso com AES-256-GCM), e os dados de negociação obtidos pela API são tratados em seu nome. Os dados de clientes e os servidores da API ficam na UE (Finlândia e Alemanha). Os assentos com hospedagem privada funcionam na região que você escolher.
Leia a Política de Privacidade completa para todas as informações.
Os motivos mais comuns de falha na conexão:
ICMarkets-Live02). Encontre-o no MetaTrader em Arquivo → Abrir uma conta.Use o endpoint /CheckConnect para verificar o status atual da conexão. Se o problema continuar, escreva para support@metatraderapi.net.
Erros de autenticação normalmente indicam que a chave de API está ausente, errada ou sendo enviada no formato incorreto. Verifique o seguinte:
x-api-key, e não Authorization: Bearer.Consulte a documentação de autenticação para o formato correto.
A MetaTrader API publica sua disponibilidade medida em uma página de status pública, com o status ao vivo e o histórico de disponibilidade da API REST, do streaming WebSocket e do painel. Não há SLA nem compromisso de disponibilidade; a Central de Confiança explica como o serviço é operado.
Observe que, conforme os Termos de Serviço, o serviço é fornecido “no estado em que se encontra” e “conforme disponibilidade”: o funcionamento ininterrupto ou livre de erros não é garantido contratualmente. Para sistemas em produção, implemente sempre lógica de novas tentativas e tratamento de erros do seu lado.
As rejeições de ordens vêm do servidor de negociação da corretora, não da MetaTrader API. As causas mais comuns são:
EURUSD ou EURUSDm).Uma recusa da corretora não é um erro HTTP: a API responde HTTP 200 com o objeto da ordem, e o campo state traz o código de resultado da corretora. 10009 significa executada; qualquer outro valor é o motivo (por exemplo 10016 stops inválidos, 10018 mercado fechado, 10019 saldo insuficiente; no MT4, o número de erro do MT4).