Todos los artículos

API de DM de Instagram: cómo enviar y automatizar DM en Instagram

Por , fundador de Chat3314 min de lectura
Paneles de vidrio con código abstracto conectados por líneas luminosas a burbujas de chat naranjas y blancas

No existe un producto llamado "la API de DM de Instagram". Cuando la gente la busca, se refiere a la parte de mensajería de la Instagram Platform de Meta: los endpoints que permiten a una app recibir mensajes directos de Instagram, responderlos y enviar una respuesta privada a quien comentó en una publicación. Funciona sobre la Graph API, usa los mismos tokens de acceso que la publicación y los comentarios, y viene con un conjunto de reglas que deciden gran parte de lo que puedes construir.

Esta guía es para desarrolladores y marketers técnicos que quieren enviar o automatizar DM de Instagram desde su propio código. Explica cómo está armada la API, qué necesitan la cuenta y la app antes de enviar el primer mensaje, las reglas de tiempo y lo que no hará por más que se lo pidas. Al final hay una sección corta y honesta sobre cuándo conviene usar una capa como Chat33 en lugar de construir todo por tu cuenta.

Si quieres un recorrido más amplio por la plataforma más allá de la mensajería, lee primero nuestra guía de la Instagram Graph API.

Qué es realmente la API de DM de Instagram

Meta ofrece la mensajería de Instagram por dos puertas que llevan casi al mismo lugar:

  • Instagram API with Instagram Login. El propietario de la cuenta inicia sesión con Instagram. No interviene ninguna página de Facebook. Las llamadas van a graph.instagram.com.
  • Mensajería de Instagram con Facebook Login (documentada históricamente como Messenger Platform for Instagram). Inicia sesión una persona de Facebook que administra una página vinculada a la cuenta de Instagram, y la app trabaja con tokens de acceso de la página en graph.facebook.com.

Ambas te dan las mismas piezas básicas: una Send API para publicar mensajes en una conversación, una Conversations API para leer hilos y mensajes, webhooks que envían a tu servidor los mensajes y comentarios nuevos, y respuestas privadas a comentarios. Los tipos de mensaje incluyen texto, imágenes y otros archivos multimedia, respuestas rápidas, botones y plantillas genéricas (tarjetas tipo producto), dentro de los límites de cada tipo.

Cuál puerta usar depende sobre todo de quiénes son tus usuarios. Los creadores y los negocios pequeños que viven en Instagram suelen preferir Instagram Login, porque no requiere configurar una página ni Business Manager. Los negocios que ya manejan todo con las herramientas empresariales de Meta, o que además quieren Facebook Messenger en la misma app, suelen terminar en Facebook Login.

Requisitos de la cuenta

Antes de que cualquier llamada a la API importe, la cuenta de Instagram tiene que cumplir ciertas condiciones:

  • Debe ser una cuenta profesional, de empresa o de creador. Las cuentas personales no son compatibles con la mensajería. Cambiar de tipo es gratis desde la app de Instagram, y nuestra comparación entre cuenta de empresa y de creador te ayuda a elegir.
  • Con Facebook Login, debe estar vinculada a una página de Facebook, y quien inicia sesión necesita un rol en esa página que le permita administrar mensajes.
  • Debe estar permitido el acceso a los mensajes para herramientas conectadas. Instagram tiene un ajuste en los controles de mensajes que permite a las apps conectadas acceder a ellos. Si está desactivado, tus webhooks se quedan en silencio y nadie sabe por qué. Revísalo primero cuando estés depurando.

Permisos que necesitas

Cada capacidad corresponde a un permiso que el propietario de la cuenta otorga al conectar tu app. Los nombres cambian según el tipo de inicio de sesión.

Qué quieres hacerInstagram LoginFacebook Login
Perfil básico y contenidoinstagram_business_basicinstagram_basic, pages_show_list
Leer y enviar DMinstagram_business_manage_messagesinstagram_manage_messages, pages_manage_metadata
Leer comentarios, responder, respuestas privadasinstagram_business_manage_commentsinstagram_manage_comments

Las apps con Facebook Login a menudo necesitan además business_management, y la documentación de Private Replies de Meta menciona pages_messaging para esa función. Meta cambia el nombre de los permisos y los reagrupa de vez en cuando (los scopes de Instagram Login reemplazaron a los antiguos business_* a fines de 2024 y principios de 2025), así que toma esta tabla como punto de partida y confírmala con la referencia de permisos vigente en developers.facebook.com antes de enviar cualquier solicitud.

Revisión de la app y Advanced Access

Cada permiso tiene dos niveles de acceso. Con Standard Access, tu app puede usar un permiso solo en cuentas que tienen un rol en la app: tú, tus desarrolladores y tus testers. Es suficiente para construir y probar todo.

Para usar un permiso en la cuenta de cualquier otra persona necesitas Advanced Access, lo que significa aprobar la revisión de la app (App Review) para ese permiso. La revisión pide una app que funcione, un video de pantalla que muestre cada permiso en uso de principio a fin (normalmente empezando por el inicio de sesión y la conexión de la cuenta) y una explicación escrita de por qué lo necesitas. Por lo general también se exige la verificación del negocio.

Cuenta con que llevará tiempo. Las revisiones pueden responder en días o alargarse semanas, y es común que el primer intento sea rechazado. Las causas habituales son un video que se salta pasos o un caso de uso que el revisor no puede reproducir. Hasta que se apruebe, tu producto funciona con tus cuentas de prueba y con nadie más.

Webhooks: cómo te enteras de los mensajes nuevos

La API funciona por eventos. No consultas periódicamente si hay DM nuevos. Registras la URL de un webhook, la verificas una vez con un desafío que envía Meta y te suscribes a campos como messages y comments (además de otros para postbacks, reacciones y eventos de visto).

A partir de ahí, Meta envía un POST a tu endpoint por cada evento. Algunas cosas importan en la práctica:

  • Verifica la firma de cada solicitud con el secreto de tu app antes de confiar en ella.
  • Responde rápido con un 200 y haz el trabajo real en una cola. Los endpoints lentos o que fallan reciben reintentos y, si sigue pasando, pueden ser deshabilitados.
  • Espera duplicados y ecos. Tus propios mensajes salientes pueden llegar como eventos de eco, y los reintentos pueden enviar el mismo evento dos veces, así que elimina duplicados por el id del mensaje.

Los webhooks de comentarios son la base de la automatización de comentario a DM: llega un comentario, tu código revisa si tiene una palabra clave y envía una respuesta privada.

La ventana de mensajería de 24 horas

Esta es la regla que condiciona todo lo demás. Cuando una persona escribe a tu cuenta, se abre una ventana de 24 horas. Dentro de ella, tu app puede enviarle mensajes, incluso promocionales. Cada mensaje nuevo de esa persona reinicia el reloj. Cuando la ventana se cierra, los mensajes estándar son rechazados hasta que vuelva a escribir.

Hay una excepción que conviene conocer: la etiqueta HUMAN_AGENT. Permite que una persona real de tu equipo responda hasta 7 días después del último mensaje del usuario, para los casos en que de verdad se necesita más tiempo humano. No es un pase libre para la automatización. Tu app necesita que Meta apruebe la función Human Agent mediante App Review, y el mensaje debe venir realmente de una persona. Enviar seguimientos automatizados con la etiqueta va contra la política.

Nuestro artículo sobre la ventana de mensajería de 24 horas profundiza en qué abre y reinicia la ventana y cómo planear seguimientos que sí lleguen.

Respuestas privadas a comentarios

Una respuesta privada es un DM enviado en respuesta a un comentario. Así funciona una publicación del tipo "comenta GUÍA y te mando el enlace por DM", y tiene sus propias reglas:

  • Un mensaje por comentario. Tienes exactamente una respuesta privada. La conversación solo continúa si la persona responde, y su respuesta abre una ventana normal de 24 horas.
  • Dentro de los 7 días posteriores al comentario en publicaciones, reels y anuncios. Los comentarios en transmisiones en vivo solo pueden recibir respuesta privada mientras el en vivo está activo.
  • Llega solo a quien comentó, y se referencia con el id del comentario, no con el id de usuario.

Como solo tienes una oportunidad, ese único mensaje tiene que hacer el trabajo. La mayoría de las buenas automatizaciones de comentario a DM incluyen en él una pregunta, con un botón cuando la conexión lo permite, para que la persona tenga una razón fácil para responder y abrir la ventana. Si también quieres la parte pública, se permite una respuesta pública aparte debajo del comentario, que muestra a los demás espectadores que se están enviando DM.

Comentario a DM de Instagram en Chat33

Disparadores por palabra clave en comentarios, respuestas privadas, variantes de respuesta pública y automatizaciones de DM sobre la API oficial de Instagram, configuradas en un editor visual.

Límites de frecuencia

Meta publica límites por cuenta para la mensajería, y cambian, así que revisa la página vigente de límites de frecuencia antes de dimensionar nada. Al momento de escribir esto, los límites documentados para las cuentas profesionales de Instagram incluyen aproximadamente 300 llamadas por segundo a la Send API para texto y enlaces, cerca de 10 por segundo para audio o video, 2 por segundo en la Conversations API y 750 respuestas privadas por hora para comentarios en publicaciones y reels. La Send API también puede limitarse cuando se envían demasiados mensajes a un solo hilo.

Para la mayoría de las cuentas estos números son amplios. Donde se sienten es en una publicación viral con miles de comentarios con palabra clave en una hora, justo cuando te conviene una cola que reparta las respuestas privadas en lugar de fallar en una ráfaga.

Lo que la API no puede hacer

Esta lista importa más que la lista de funciones, porque aquí es donde vive el marketing engañoso:

  • Sin DM en frío. No puedes escribir a alguien que nunca ha interactuado con la cuenta. No hay ningún endpoint para iniciar una conversación con un usuario cualquiera.
  • Sin mensajes masivos fuera de la ventana. Enviar un mensaje a todos los que te escribieron el mes pasado no es posible con mensajes estándar.
  • Sin disparador de nuevo seguidor. La API no te avisa cuando alguien te sigue, así que "enviar un DM a cada nuevo seguidor" no se puede construir con la API oficial.
  • Sin cuentas personales ni acceso a la bandeja de entrada o a la lista de seguidores de otra persona.
  • Sin seguir, dar me gusta ni otras acciones en nombre de la cuenta.

Si una herramienta promete cualquiera de estas cosas, no está usando la API oficial. Está iniciando sesión como tú, que es el camino más rápido hacia una cuenta restringida. Nuestra guía de reglas de automatización explica la diferencia con más detalle.

Constrúyelo tú o usa una capa

Construir directamente sobre la API de Meta es totalmente factible. El trabajo está menos en la llamada a la Send API y más en todo lo que la rodea: una app de Meta, inicio de sesión y renovación de tokens, almacenamiento cifrado de tokens, un receptor de webhooks con verificación de firma y eliminación de duplicados, una cola para los límites de frecuencia, seguimiento de la ventana por conversación, App Review para cada permiso y estar al día con el retiro de versiones de la API. Para un equipo que necesita un comportamiento personalizado profundo, esa inversión puede valer la pena.

Si lo que realmente quieres es automatizar DM o integrar los mensajes de Instagram en tu propio producto, una capa que ya pasó la revisión te lleva más rápido. Chat33 es una opción. Conecta cuentas de Instagram y Facebook mediante la API oficial y expone encima una API REST, un webhook de mensajes y un servidor MCP:

  • Flows API. Crea, actualiza y activa automatizaciones de comentario a DM y de palabras clave en DM como un grafo de nodos. Las mismas automatizaciones se abren en el editor visual.
  • Inbox API. Lista conversaciones, lee mensajes y responde. Una respuesta fuera de la ventana de 24 horas devuelve un error claro window_closed.
  • Comments API. Lista los comentarios de una publicación y responde en público o con la única respuesta privada.
  • Webhook de mensajes. Cada DM entrante se envía a tu URL como un evento firmado message.received, para que tu propio bot pueda responderlo.
  • Servidor MCP. Permite que asistentes de IA como Claude listen automatizaciones, lean conversaciones y respondan, con inicio de sesión OAuth. La configuración está en la página de MCP.

Las llamadas van a https://chat33.io/api/v1 con una clave de API en el encabezado x-api-key. Responder a una conversación se ve así:

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."}'

Y esta es la forma del evento que recibe tu servidor cuando alguien envía un 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"
  }
}

Las mismas reglas de Meta siguen aplicando por debajo: sin DM en frío, una respuesta privada por comentario y respuestas solo dentro de la ventana. Una capa elimina la infraestructura, no las reglas de la plataforma. Los scopes de Inbox y de comentarios son opcionales en cada clave de API, y la referencia completa está en la página para desarrolladores y en la especificación OpenAPI.

Si estás comparando herramientas para esto, nuestra guía de alternativas a ManyChat tiene una lista de verificación sobre el acceso a la API.

Preguntas frecuentes

¿Existe una API oficial de DM de Instagram?

Sí, como parte de la Instagram Platform de Meta. No es un producto aparte: la mensajería es un conjunto de endpoints y webhooks disponibles a través de la Instagram API with Instagram Login, o mediante Facebook Login con una página vinculada. Ambas requieren una cuenta profesional de Instagram.

¿Puedo enviar un DM a cualquier usuario de Instagram con la API?

No. La API solo te permite escribir a personas que interactuaron primero con la cuenta, por ejemplo enviando un DM, comentando (una respuesta privada) o respondiendo a una historia. No hay ningún endpoint para el contacto en frío.

¿Necesito una página de Facebook para usar la API de DM de Instagram?

No con la Instagram API with Instagram Login. Sí la necesitas si te conectas mediante Facebook Login, porque esa versión funciona a través de la página vinculada a la cuenta de Instagram.

¿Cuánto tarda App Review?

No hay una respuesta fija. Algunas solicitudes se aprueban en días, otras tardan semanas con uno o dos rechazos en el medio. Un video completo que muestre el inicio de sesión entero y cada permiso en uso es el factor que más puedes controlar.

¿Puedo usar la etiqueta HUMAN_AGENT para seguimientos automatizados?

No. La etiqueta existe para que una persona responda dentro de los 7 días posteriores al último mensaje del usuario, y requiere que Meta apruebe la función Human Agent para tu app. Usarla para mensajes automatizados o promocionales infringe la política.

¿Puede la API activar un DM cuando alguien me sigue?

No. La API oficial no tiene un evento de nuevo seguidor, así que ninguna herramienta legítima puede enviar DM automáticos a los nuevos seguidores. Los disparadores que sí existen son las palabras clave en comentarios, las palabras clave en DM y las respuestas a historias.

¿La API de DM de Instagram es gratis?

Meta no cobra por las llamadas a la API. El costo es el tiempo de ingeniería para construir y mantener la integración, más App Review. Las herramientas construidas encima cobran por el producto que rodea a la API, no por el acceso a los endpoints de Meta.