Saltar al contenido

Convierte tu WhatsApp en una API

Usa el número de WhatsApp que ya tienes. Envía mensajes desde tu código con una sola petición HTTP. Sin revisión de Meta, sin plantillas, sin comprar otro número.

Gratis para empezar, sin tarjeta. Vincúlalo como un dispositivo más.

Enviar un mensaje
curl -X POST https://api.whatsapi.sh/v1/messages \
  -H "Authorization: Bearer wa_your_key" \
  -H "Content-Type: application/json" \
  -d '{ "to": "+5511988887777", "text": "Hello from whatsapi!" }'

La petición completa, desde tu propio número. Los mensajes que tú inicias esperan en la cola de envío.

Tres pasos hasta tu primer envío

  1. 1

    Vincula tu número

    Escanea un código QR desde el panel, igual que cuando vinculas WhatsApp Web. Tu teléfono sigue funcionando normal. Nos volvemos un dispositivo vinculado más en tu cuenta, no una copia de ella.

  2. 2

    Crea una clave

    Una sola clave, que empieza con `wa_`. Sirve para la API REST y para MCP.

  3. 3

    Envía

    Un POST. Recibes el id del mensaje de vuelta, y los acuses de entrega llegan a tu webhook.

Cuando un mensaje entra en la cola

Ejemplo
  1. Aceptado

    La API devuelve el ID del mensaje y la hora prevista de envío.

  2. En cola

    El mensaje espera en la cola de ese número. Puedes cancelarlo antes de que salga.

  3. Enviado

    El mensaje sale de la cola. Tu webhook recibe message.sent.

Enviado no significa entregado ni leído. WhatsApp lo indica en acuses separados.

Qué puedes construir con ella

Cada una de estas son unas pocas líneas de código, sobre un número que ya es tuyo.

Códigos de acceso

La persona escribe su teléfono. Le llega un código de 6 dígitos por WhatsApp. Una llamada lo envía y además te devuelve el código para verificarlo.

Avisos de pedidos y de turnos

Pago recibido. Pedido enviado. Turno mañana a las 15h. Los mensajes que la gente sí quiere recibir.

Respuestas para tus clientes

Cada mensaje que te escriben llega a tu webhook. Tu código responde desde el mismo número al que esa persona ya le escribe.

Alertas para tu equipo

Se cayó un servidor. Falló un pago. Entró un lead nuevo. Avisa a tu equipo por WhatsApp.

Qué hace

Los endpoints que de verdad vas a usar, más algunos atajos que normalmente toman una semana construir. Todo sobre un número que es tuyo.

Mensajes y multimedia

Texto, fotos, video, documentos, notas de voz, ubicación y tarjetas de contacto. Danos una URL y nosotros traemos el archivo, así nunca tienes que subirlo.

Códigos de acceso

Una llamada envía el código y te lo devuelve, para que lo verifiques a tu manera. El hash, el tope de intentos y la pausa entre reenvíos ya están resueltos.

Consulta de números

Pregunta si un teléfono tiene WhatsApp antes de gastarle un mensaje. Consultamos los números de Brasil con y sin el noveno dígito, porque los dos circulan.

Webhooks firmados

Siete eventos en un endpoint. Verifica la firma de cada entrega. Si falla, lo intentamos de nuevo. Usa el ID de entrega para ignorar duplicados. Pausamos los endpoints que siguen fallando.

Envíos en lote

Hasta 25 destinatarios en una llamada. Cada mensaje espera su turno, con 15 a 25 minutos de intervalo por defecto, incluso para contactos conocidos. Cada destinatario tiene su propio resultado.

Errores que te dicen qué hacer

Cada error trae un código estable y un mensaje que dice cómo resolverlo. Todo lo que se soluciona esperando viene con `Retry-After`. Un 429 te dice qué límite tocaste y cuándo se libera.

Dos formas de usarla

Cada función existe dos veces: como endpoint REST y como herramienta MCP. La escribimos una sola vez, así que nunca pueden decir cosas distintas.

Para tu código

Rutas cortas, las adivinas sin pensar. `POST /v1/messages` recibe `{to, text}`. Si tienes un solo número, ese es todo el cuerpo.

Ejemplo

POST https://api.whatsapi.sh/v1/messages
{ "to": "+55…", "text": "hi" }

{ "data": { "id": "…", "status": "queued",
  "scheduledAt": "2026-09-20T12:19:00Z" } }

¿Usas TypeScript? npm i @whatsapi.sh/sdk te da la misma API, con tipos.

Para tus agentes

Apunta cualquier cliente MCP a la misma URL, con la misma clave `wa_`. Tu agente recibe herramientas listas: send_message, send_otp, check_number. Misma cuota, mismos límites.

Ejemplo

{
  "mcpServers": {
    "whatsapi": {
      "type": "streamable-http",
      "url": "https://api.whatsapi.sh/mcp",
      "headers": { "Authorization": "Bearer wa_your_key" }
    }
  }
}

honesto

Tu número puede ser baneado

Esta es una API no oficial. Habla con WhatsApp igual que WhatsApp Web. Por eso no necesitas aprobación de plantillas ni revisión de Meta. Y también por eso WhatsApp puede restringir o banear para siempre cualquier número que la use. Nadie puede apelar esa decisión, incluidos nosotros.

¿Vas a escribirle a muchos desconocidos? Usa un SIM de repuesto, o la API oficial. ¿Vas a responderle a quien ya te escribe? La línea que tienes sirve. Te lo decimos antes de que vincules un número, no en un pie de página.

Cómo mantenemos vivo tu número

WhatsApp banea números por mensajes en frío a gran escala, no por responderle a la gente. Por eso metemos el ritmo seguro dentro del producto, en vez de escribirlo en una guía y dejártelo a ti.

Un límite diario de conversaciones nuevas

Cada número tiene un límite para las conversaciones que inicia: cinco al día su primera semana, veinte cuando ya tiene más recorrido. Responderle a quien te escribió primero nunca cuenta. Ningún plan levanta este límite. Un plan más grande compra más números, y cada número trae el suyo. Puedes cambiar el límite de cada número, pero subirlo hace más probable un baneo.

Los mensajes que tú inicias esperan su turno

Los mensajes que tú inicias salen con 15 a 25 minutos de intervalo por defecto, incluso para contactos conocidos. Las respuestas a quien escribió en las últimas 24 horas salen al momento. Los grupos y los códigos de acceso tampoco pasan por la cola. Si el número se desconecta, los mensajes en cola esperan y vuelven a salir con el mismo intervalo cuando reconecta. Puedes cambiar el intervalo o desactivar la cola.

Precios

Pagas por mensaje enviado. Tu plan también define cuántos números puedes conectar. Todo lo demás es gratis en cualquier plan: webhooks, MCP, consulta de números, acuses de entrega. El límite diario de conversaciones nuevas es un límite de seguridad, y ningún plan lo levanta.

Free

0 €/mes

  • 100 mensajes al mes
  • 1 número conectado
  • 20 al día, uso justo
  • 4 envíos por minuto
  • Un destinatario por llamada
Empezar gratis

Starter

8 €/mes

  • 1000 mensajes al mes
  • 2 números conectados
  • 60 al día, uso justo
  • 8 envíos por minuto
  • Envíos en lote
Elegir Starter
Más popular

Pro

22 €/mes

  • 5000 mensajes al mes
  • 5 números conectados
  • 250 al día, uso justo
  • 12 envíos por minuto
  • Envíos en lote
Elegir Pro

Scale

64 €/mes

  • 20000 mensajes al mes
  • 15 números conectados
  • 700 al día, uso justo
  • 20 envíos por minuto
  • Envíos en lote
Elegir Scale

O recarga

Mensajes extra para un mes cargado. Nunca expiran, y solo los usamos cuando tu cuota mensual se acaba.

250 mensajes · 4 €1000 mensajes · 10 €5000 mensajes · 45 €

Sin costo de activación, sin cargo por número, sin contrato anual. Cada moneda tiene sus propios precios, y tu primera compra define en cuál pagas.

Preguntas comunes

Sí. Toda API no oficial tiene ese riesgo, y ningún proveedor puede prometer lo contrario. Si alguno lo promete, eso ya te dice lo que necesitas saber de él. Lo que de verdad mata números son los mensajes en frío a gran escala. Por eso cada número aquí tiene un límite diario para las conversaciones que inicia, y por eso lo aplicamos en vez de solo sugerirlo. Responderle a quien pidió saber de ti es lo más seguro que hay.

Envía tu primer mensaje

Plan gratuito, sin tarjeta, la API entera. Desde el número que ya tienes.

Empezar gratis