Todos os artigos

API de DM do Instagram: como enviar e automatizar DMs do Instagram

Por , fundador do Chat3313 min de leitura
Painéis de vidro com código abstrato ligados por linhas luminosas a balões de conversa laranja e brancos

Não existe um produto chamado "API de DM do Instagram". Quando as pessoas pesquisam por isso, falam da parte de mensagens da Plataforma do Instagram da Meta: os endpoints que permitem a um app receber mensagens diretas do Instagram, respondê-las e enviar uma resposta privada a quem comentou em uma publicação. Ela fica sobre a Graph API, usa os mesmos tokens de acesso usados para publicar e comentar e vem com um conjunto de regras que decide a maior parte do que você pode construir.

Este guia é para desenvolvedores e profissionais de marketing técnico que querem enviar ou automatizar DMs do Instagram a partir do próprio código. Ele explica como a API é organizada, o que uma conta e um app precisam ter antes de a primeira mensagem sair, as regras de tempo e o que ela não faz, por mais que você peça. No final, há uma seção curta e honesta sobre quando vale usar uma camada como o Chat33 em vez de construir tudo por conta própria.

Para uma visão mais ampla da plataforma além das mensagens, leia primeiro nosso guia da Instagram Graph API.

O que a API de DM do Instagram realmente é

A Meta oferece as mensagens do Instagram por duas portas que levam, em grande parte, ao mesmo lugar:

  • Instagram API com Login do Instagram. O dono da conta entra com o próprio Instagram. Nenhuma Página do Facebook está envolvida. As chamadas vão para graph.instagram.com.
  • Mensagens do Instagram com Login do Facebook (documentada historicamente como a Messenger Platform for Instagram). Um usuário do Facebook que administra uma Página vinculada à conta do Instagram faz login, e o app trabalha com tokens de acesso da Página em graph.facebook.com.

As duas dão os mesmos blocos principais: uma Send API para enviar mensagens a uma conversa, uma Conversations API para ler conversas e mensagens, webhooks que enviam novas mensagens e comentários ao seu servidor e respostas privadas a comentários. Os tipos de mensagem incluem texto, imagens e outras mídias, respostas rápidas, botões e templates genéricos (cartões no estilo de produto), dentro dos limites de cada tipo.

Qual porta usar depende, sobretudo, de quem são seus usuários. Criadores e pequenos negócios que vivem no Instagram costumam preferir o Login do Instagram, porque não exige Página nem configuração do Business Manager. Empresas que já operam tudo pelas ferramentas de negócios da Meta, ou que também querem o Facebook Messenger no mesmo app, costumam acabar no Login do Facebook.

Requisitos da conta

Antes de qualquer chamada à API importar, a própria conta do Instagram precisa estar qualificada:

  • Ela precisa ser uma conta profissional, comercial ou de criador. Contas pessoais não têm suporte para mensagens. Mudar é grátis no app do Instagram, e nossa comparação entre conta comercial e de criador ajuda você a escolher.
  • Com o Login do Facebook, ela precisa estar vinculada a uma Página do Facebook, e a pessoa que faz login precisa ter na Página uma função que permita gerenciar mensagens.
  • O acesso às mensagens para ferramentas conectadas precisa estar permitido. O Instagram tem uma configuração nos controles de mensagens que permite que apps conectados acessem as mensagens. Se ela estiver desligada, seus webhooks ficam em silêncio e ninguém sabe por quê. Verifique isso primeiro ao depurar.

Permissões necessárias

Cada recurso corresponde a uma permissão que o dono da conta concede ao conectar seu app. Os nomes mudam entre os dois tipos de login.

O que você quer fazerLogin do InstagramLogin do Facebook
Perfil básico e mídiainstagram_business_basicinstagram_basic, pages_show_list
Ler e enviar DMsinstagram_business_manage_messagesinstagram_manage_messages, pages_manage_metadata
Ler comentários, responder, respostas privadasinstagram_business_manage_commentsinstagram_manage_comments

Apps com Login do Facebook muitas vezes também precisam de business_management, e a documentação de Respostas Privadas da Meta lista pages_messaging para esse recurso. A Meta renomeia e reagrupa permissões de tempos em tempos (os escopos do Login do Instagram substituíram nomes business_* mais antigos no fim de 2024 e no início de 2025), então trate esta tabela como ponto de partida e confira na referência de permissões atual em developers.facebook.com antes de enviar qualquer coisa.

Análise do App e Acesso Avançado

Cada permissão tem dois níveis de acesso. Com o Acesso Padrão, seu app só pode usar uma permissão em contas que tenham uma função no app: você, seus desenvolvedores e seus testadores. Isso basta para construir e testar tudo.

Para usar uma permissão na conta de qualquer outra pessoa, você precisa do Acesso Avançado, o que significa passar pela Análise do App para essa permissão. A análise pede um app funcionando, uma gravação de tela que mostre cada permissão sendo usada de ponta a ponta (em geral começando pelo login e pela conexão da conta) e uma explicação por escrito do motivo de você precisar dela. A verificação da empresa costuma ser exigida também.

Conte com demora. As análises podem voltar em dias ou se arrastar por semanas, e uma rejeição na primeira tentativa é comum. As causas habituais são uma gravação que pula etapas ou um caso de uso que o analista não consegue reproduzir. Até a aprovação, seu produto funciona para suas contas de teste e para mais ninguém.

Webhooks: como você fica sabendo de novas mensagens

A API funciona por eventos. Você não consulta novas DMs a cada instante. Você registra uma URL de webhook, verifica-a uma vez com um desafio que a Meta envia e se inscreve em campos como messages e comments (além de outros para postbacks, reações e eventos de visualização).

A partir daí, a Meta envia um POST ao seu endpoint a cada evento. Algumas coisas importam na prática:

  • Verifique a assinatura de cada requisição com o segredo do seu app antes de confiar nela.
  • Responda rápido com um 200 e faça o trabalho de verdade em uma fila. Endpoints lentos ou com falha são tentados de novo e, se isso continuar, podem ser desativados.
  • Espere duplicatas e ecos. Suas próprias mensagens enviadas podem chegar como eventos de eco, e as novas tentativas podem enviar o mesmo evento duas vezes, então deduplique pelo ID da mensagem.

Os webhooks de comentários são a base da automação de comentário para DM: chega um comentário, seu código procura uma palavra-chave nele e envia uma resposta privada.

A janela de mensagens de 24 horas

Esta é a regra que molda todo o resto. Quando uma pessoa envia uma mensagem à sua conta, abre-se uma janela de 24 horas. Dentro dela, seu app pode enviar mensagens a essa pessoa, inclusive promocionais. Cada nova mensagem dela reinicia o relógio. Quando a janela fecha, mensagens padrão são recusadas até a pessoa escrever de novo.

Há uma exceção que vale conhecer: a tag HUMAN_AGENT. Ela permite que uma pessoa real da sua equipe responda até 7 dias depois da última mensagem do usuário, nos casos em que um humano realmente precisa de mais tempo. Não é um passe livre para a automação. Seu app precisa ter o recurso Human Agent aprovado pela Meta na Análise do App, e a mensagem precisa vir de fato de uma pessoa. Enviar acompanhamentos automáticos com a tag vai contra a política.

Nosso artigo sobre a janela de mensagens de 24 horas aprofunda o que abre e reinicia a janela e como planejar acompanhamentos que ainda chegam.

Respostas privadas a comentários

Uma resposta privada é uma DM enviada em resposta a um comentário. É assim que funciona uma publicação do tipo "comente GUIA e eu mando o link na DM", e ela tem regras próprias:

  • Uma mensagem por comentário. Você tem exatamente uma resposta privada. A conversa só continua se a pessoa responder, e a resposta dela abre uma janela normal de 24 horas.
  • Em até 7 dias do comentário, para publicações, reels e anúncios. Comentários em transmissões ao vivo só podem receber resposta privada enquanto a live está no ar.
  • Ela vai apenas para quem comentou, referenciada pelo ID do comentário, não pelo ID do usuário.

Como você só tem uma chance, essa única mensagem precisa dar conta do recado. A maioria das boas automações de comentário para DM coloca uma pergunta nela, com um botão quando a conexão permite, para que a pessoa tenha um motivo fácil para responder e abrir a janela. Se você também quiser o lado público, uma resposta pública separada embaixo do comentário é permitida e mostra aos outros espectadores que as DMs estão sendo enviadas.

Comentário para DM do Instagram no Chat33

Gatilhos de comentário por palavra-chave, respostas privadas, variações de resposta pública e automações de DM na API oficial do Instagram, configuradas em um editor visual.

Limites de taxa

A Meta publica limites por conta para mensagens, e eles mudam, então confira a página atual de limites de taxa antes de dimensionar qualquer coisa. No momento da escrita, os limites documentados para contas profissionais do Instagram incluem cerca de 300 chamadas por segundo à Send API para texto e links, cerca de 10 por segundo para áudio ou vídeo, 2 por segundo na Conversations API e 750 respostas privadas por hora para comentários em publicações e reels. A Send API também pode ser limitada quando mensagens demais vão para uma única conversa.

Para a maioria das contas esses números são folgados. Eles pesam em uma publicação viral com milhares de comentários com a palavra-chave em uma hora, que é justamente quando você quer uma fila que espaça as respostas privadas em vez de falhar em uma rajada.

O que a API não faz

Esta lista importa mais do que a lista de recursos, porque é onde mora o marketing enganoso:

  • Sem DMs a frio. Você não pode enviar mensagem a quem nunca interagiu com a conta. Não existe endpoint para iniciar uma conversa com um usuário qualquer.
  • Sem envio em massa fora da janela. Mandar uma mensagem a todos que escreveram para você no mês passado não é possível com mensagens padrão.
  • Sem gatilho de novo seguidor. A API não avisa quando alguém segue você, então "enviar DM a cada novo seguidor" não pode ser construído sobre a API oficial.
  • Sem contas pessoais e sem acesso à caixa de mensagens nem à lista de seguidores de outra pessoa.
  • Sem seguir, curtir ou outras ações em nome da conta.

Se uma ferramenta promete qualquer uma dessas coisas, ela não usa a API oficial. Ela entra como você. Esse é o caminho mais rápido para uma conta restrita. Nosso guia das regras de automação trata da diferença com mais detalhes.

Construir por conta própria ou usar uma camada

Construir direto sobre a API da Meta é bem possível. O trabalho está menos na chamada da Send API e mais em tudo ao redor: um app da Meta, login e renovação de tokens, armazenamento criptografado dos tokens, um receptor de webhooks com verificação de assinatura e deduplicação, uma fila para os limites de taxa, controle da janela por conversa, Análise do App para cada permissão e acompanhar a desativação de versões da API. Para uma equipe que precisa de um comportamento muito personalizado, esse investimento pode valer a pena.

Se o que você quer de fato é automatizar DMs ou ligar as mensagens do Instagram ao seu próprio produto, uma camada que já passou pela análise leva você até lá mais rápido. O Chat33 é uma opção. Ele conecta contas do Instagram e do Facebook pela API oficial e oferece por cima uma API REST, um webhook de mensagens e um servidor MCP:

  • API de Automações. Crie, atualize e ative automações de comentário para DM e de palavra-chave em DM como um grafo de nós. As mesmas automações abrem no editor visual.
  • API de Mensagens. Liste conversas, leia mensagens e responda. Uma resposta fora da janela de 24 horas volta como um erro claro window_closed.
  • API de Comentários. Liste os comentários de uma publicação e responda em público ou com a única resposta privada.
  • Webhook de mensagens. Cada DM recebida é enviada à sua URL como um evento assinado message.received, para que seu próprio bot possa respondê-la.
  • Servidor MCP. Permite que assistentes de IA, como o Claude, listem automações, leiam conversas e respondam, com login por OAuth. A configuração está na página do MCP.

As chamadas vão para https://chat33.io/api/v1 com uma chave de API no cabeçalho x-api-key. Responder a uma conversa fica assim:

curl -X POST https://chat33.io/api/v1/conversations/CONVERSATION_ID/reply \
  -H "x-api-key: sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"message": "Thanks for reaching out! Here is the link you asked for."}'

E este é o formato do evento que seu servidor recebe quando alguém envia uma DM:

{
  "event": "message.received",
  "id": "evt_...",
  "createdAt": "2026-10-15T09:30:00.000Z",
  "data": {
    "platform": "instagram",
    "channel": { "id": "ch_...", "name": "yourbrand" },
    "conversationId": "conv_...",
    "message": { "id": "msg_...", "text": "price?", "attachments": [], "sentAt": "2026-10-15T09:30:00.000Z" },
    "contact": { "id": "ct_...", "externalId": "...", "name": "Jane", "username": "jane", "optedOut": false },
    "replyWindowEndsAt": "2026-10-16T09:30:00.000Z"
  }
}

As mesmas regras da Meta continuam valendo por baixo: sem DMs a frio, uma resposta privada por comentário e respostas só dentro da janela. Uma camada tira a infraestrutura do caminho, não as regras da plataforma. Os escopos de mensagens e de comentários precisam ser ativados em cada chave de API, e a referência completa está na página para desenvolvedores e na especificação OpenAPI.

Se você está comparando ferramentas para isso, nosso guia de alternativas ao ManyChat tem uma lista de verificação específica sobre acesso à API.

Perguntas frequentes

Existe uma API oficial de DM do Instagram?

Sim, como parte da Plataforma do Instagram da Meta. Não é um produto separado: as mensagens são um conjunto de endpoints e webhooks disponível pela Instagram API com Login do Instagram, ou pelo Login do Facebook com uma Página vinculada. As duas exigem uma conta profissional do Instagram.

Posso enviar uma DM a qualquer usuário do Instagram pela API?

Não. A API só permite enviar mensagem a quem interagiu com a conta primeiro, por exemplo enviando uma DM, comentando (uma resposta privada) ou respondendo a um story. Não existe endpoint para abordagem a frio.

Preciso de uma Página do Facebook para usar a API de DM do Instagram?

Não com a Instagram API com Login do Instagram. Você precisa de uma se conectar pelo Login do Facebook, porque essa versão funciona pela Página vinculada à conta do Instagram.

Quanto tempo leva a Análise do App?

Não há resposta fixa. Alguns envios passam em dias, outros levam semanas, com uma ou duas rejeições no meio. Uma gravação completa que mostre o login inteiro e cada permissão em uso é o fator que você mais controla.

Posso usar a tag HUMAN_AGENT para acompanhamentos automáticos?

Não. A tag existe para que uma pessoa possa responder em até 7 dias após a última mensagem do usuário, e exige que a Meta aprove o recurso Human Agent para o seu app. Usá-la para mensagens automáticas ou promocionais viola a política.

A API consegue disparar uma DM quando alguém me segue?

Não. A API oficial não tem evento de seguir, então nenhuma ferramenta legítima consegue enviar DM automática a novos seguidores. Palavras-chave em comentários, palavras-chave em DMs e respostas a stories são os gatilhos que existem.

A API de DM do Instagram é grátis?

A Meta não cobra pelas chamadas à API. O custo é o tempo de engenharia para construir e manter a integração, mais a Análise do App. As ferramentas construídas por cima cobram pelo produto em volta da API, não pelo acesso aos endpoints da Meta.