Guía: cómo montar tu propia API de WhatsApp gratis con OpenWA

OpenWA es una API de WhatsApp open source y self-hosted: corre en tu servidor con Docker, sin fees por mensaje. Multi-sesión, QR y endpoints reales para automatizar WhatsApp.

Mateo CañoMateo Caño7 min de lectura
Guía: cómo montar tu propia API de WhatsApp gratis con OpenWA

Alguien liberó una API de WhatsApp open source que te ahorra pagar por cada mensaje: se llama OpenWA, corre en tu propio servidor y tiene licencia MIT. En esta guía la levantás con Docker en minutos y mandás tu primer mensaje por API. Todo con los comandos reales del repo oficial, creado por @rmyndharis.

01 · ¿Qué es OpenWA?

Una API de WhatsApp que corre en TU servidor · sin intermediarios

OpenWA es un gateway HTTP self-hosted para WhatsApp: un servicio que levantás vos y que te deja controlar WhatsApp por código, sin pasar por un proveedor pago ni por la API oficial de Meta. Mandás mensajes, recibís eventos en tiempo real y automatizás flujos, todo por REST.

Está construido sobre NestJS con un motor de WhatsApp intercambiable, base de datos configurable y autenticación por X-API-Key. Es MIT, así que lo usás gratis incluso en proyectos comerciales.

Garantía: no pagás fee por mensaje ni por sesión. Tu único costo es el servidor donde corra.

Decorative atmospheric background for booking section
100+ marcas ya operan con el sistema

¿Querés el stack de IA correcto operando en tu negocio?

Sin demos infinitas. Sin contratar consultor. Sin elegir mal.

thrivevenice.Californiathrivevenice.California
thrivevenice.Californiathrivevenice.California

02 · ¿Por qué usar una API self-hosted en vez de la oficial?

  1. Cero fees por conversación. La API oficial de WhatsApp Business cobra por conversación; OpenWA no cobra nada.
  2. Control total. Los datos y las sesiones viven en tu servidor, no en un tercero.
  3. Deploy en minutos. Un docker compose up -d y ya tenés la API corriendo.
  4. Multi-sesión. Corrés varios números en una sola instancia (ventas, soporte, personal).

Sobre esta base podés montar desde un bot de atención hasta un CRM que califica leads por WhatsApp, sin pagar por cada conversación.

× depender de un intermediario

Pagás por cada conversación, esperás aprobaciones y tus datos pasan por un tercero. El costo escala con el volumen.

✓ OpenWA self-hosted

Levantás el contenedor, definís tu API key y automatizás sin pagar por mensaje. El costo es fijo: tu servidor.


03 · ¿Cómo instalo OpenWA en 5 minutos?

Cloná, configurá el API key y levantá con Docker

El camino corto es Docker. No necesitás compilar nada: cloná el repo, definí tu clave y arrancá.

Camino 1 · Servidor con Docker (recomendado)

Pegá esto en la terminal de tu VPS o máquina:

bash · deploy OpenWA
git clone https://github.com/rmyndharis/OpenWA && cd OpenWA
ACloning into 'OpenWA'... done
Tcd OpenWA

Definí tu X-API-Key en el archivo de entorno y levantá el stack:

bash · docker
docker compose up -d
A✓ openwa running on port 2785

Para quien ya tiene un VPS y usó Docker alguna vez. Un servidor chico alcanza para empezar.

Garantía: el servicio queda escuchando en el puerto 2785 y el Swagger interactivo vive en http://localhost:2785/api/docs, donde probás cada endpoint sin escribir código.


04 · ¿Cuáles son los endpoints principales?

Todos los requests llevan el header X-API-Key con la clave que definiste. Estos son los cuatro que necesitás para arrancar:

ComandoQué haceCuándo usarlo
POST /api/sessionsCrea una sesión nueva (un número)Al dar de alta cada cuenta de WhatsApp
POST /api/sessions/{sessionId}/startArranca la sesiónDespués de crearla, para generar el QR
GET /api/sessions/{sessionId}/qrDevuelve el QR para vincularUna vez, al conectar el número por primera vez
POST /api/sessions/{sessionId}/messages/send-textManda un mensaje de textoCada vez que tu app o bot responde

05 · ¿Cómo mando mi primer mensaje?

Creá la sesión, escaneá el QR y dispará el primer send-text

Con el servicio corriendo, el flujo son tres pasos. Primero creás y arrancás la sesión:

bash · nueva sesión
curl -X POST http://localhost:2785/api/sessions -H 'X-API-Key: TU_API_KEY'
AsessionId · mi-numero-1 · status: STARTING

Pedís el QR y lo escaneás desde WhatsApp (Dispositivos vinculados):

bash · QR
curl http://localhost:2785/api/sessions/mi-numero-1/qr -H 'X-API-Key: TU_API_KEY'
TQR listo · escanealo desde WhatsApp para vincular
Astatus: CONNECTED

Y mandás el primer mensaje:

bash · send-text
curl -X POST http://localhost:2785/api/sessions/mi-numero-1/messages/send-text -H 'X-API-Key: TU_API_KEY'
A✓ mensaje enviado · to 549XXXXXXXXX · Hola desde OpenWA

Para quien quiere ver el sistema andando antes de escribir la integración completa.


06 · ¿Qué backends y motor puedo elegir?

OpenWA es configurable por variables de entorno. No estás atado a una sola base ni a un solo motor:

  • Base de datos: SQLite por defecto (cero setup, ideal para probar) o PostgreSQL para producción.
  • Motor de WhatsApp: whatsapp-web.js por defecto, o Baileys, seleccionable con la variable ENGINE_TYPE.
  • Storage: filesystem local (data/sessions, data/media), así las sesiones sobreviven a un reinicio.

Garantía: cambiás de SQLite a PostgreSQL sin tocar el código de tu app, solo ajustando la configuración.


07 · ¿Cuándo NO conviene usar OpenWA?

Toda herramienta tiene su borde. OpenWA no es la respuesta para todo:

× volumen masivo o marca regulada

Si mandás decenas de miles de mensajes o operás en un rubro regulado, la API oficial de Meta te da respaldo, plantillas aprobadas y menos riesgo de baneo.

✓ prototipos, bots y automatizaciones

Para validar una idea, automatizar turnos, correr bots personales o proyectos donde no querés pagar por mensaje, OpenWA es imbatible en costo y velocidad.

Al ser una librería no oficial, existe el riesgo de que Meta cambie el protocolo o de baneo si abusás del envío. Usá un número dedicado y volumen con criterio.


08 · ¿Qué conviene recordar de OpenWA?

  • Es una API de WhatsApp open source (MIT), self-hosted, gratis y sin fees por mensaje.
  • Se levanta con docker compose up -d en el puerto 2785, con Swagger en /api/docs.
  • Cuatro endpoints te alcanzan para empezar: crear sesión, start, QR y send-text, todos con X-API-Key.
  • Es multi-sesión y elegís base (SQLite/PostgreSQL) y motor (whatsapp-web.js/Baileys).
  • Para monetizarla, no vendas "una API": vendé el resultado (turnos confirmados, leads respondidos solos).

El repo completo está en github.com/rmyndharis/OpenWA y la documentación en docs.open-wa.org. Si querés armar el bot arriba de esto, seguí con cómo armar un bot de WhatsApp con Claude.

Decorative atmospheric background for booking section
100+ marcas ya operan con el sistema

¿Querés el stack de IA correcto operando en tu negocio?

Sin demos infinitas. Sin contratar consultor. Sin elegir mal.

thrivevenice.Californiathrivevenice.California
thrivevenice.Californiathrivevenice.California

Preguntas frecuentes sobre API de WhatsApp open source

OpenWA es una API de WhatsApp open source, self-hosted y con licencia MIT: un gateway HTTP que corre en tu propio servidor y te deja controlar WhatsApp por código, sin pasar por un proveedor pago. Sirve para mandar mensajes y archivos, recibir eventos en tiempo real, armar bots de atención, automatizar flujos y correr varias cuentas a la vez. La diferencia con la API oficial de WhatsApp Business es que acá no pagás por conversación ni dependés de un intermediario: levantás el contenedor con Docker y tenés la documentación completa y el Swagger en http://localhost:2785/api/docs. Si tu idea es un bot de atención, mirá también cómo armar un bot de WhatsApp con Claude.

Sí: el código de OpenWA es MIT, o sea gratis y de uso libre, incluso comercial. Lo único que pagás es el servidor donde lo corras (un VPS chico alcanza) y, si querés, PostgreSQL en vez del SQLite que trae por defecto. No hay fee por mensaje ni por sesión, que es justo lo que cobra la API oficial de WhatsApp Business por conversación. La contra honesta: al ser una librería no oficial, el riesgo de baneo del número existe si mandás spam, así que se usa con criterio. Para casos serios conviene un número dedicado y volumen moderado. Si estás comparando herramientas gratis, este listado de repos que reemplazan apps pagas suma varias en la misma línea.

El camino corto es con Docker. Cloná el repo de OpenWA, configurás tu X-API-Key en el archivo de entorno y levantás todo con docker compose up -d. El servicio queda escuchando en el puerto 2785 y el Swagger interactivo vive en http://localhost:2785/api/docs. Desde ahí creás una sesión con POST /api/sessions, la arrancás con POST /api/sessions/{sessionId}/start y escaneás el QR que devuelve GET /api/sessions/{sessionId}/qr con tu WhatsApp. Si preferís un motor distinto, OpenWA soporta whatsapp-web.js (default) o Baileys vía la variable ENGINE_TYPE. No hace falta compilar nada ni instalar dependencias a mano: Docker levanta la API, la base y el motor en un solo comando. Los pasos completos están más abajo en esta guía y en la documentación oficial.

La API oficial de WhatsApp Business es de Meta: aprobada, estable, con plantillas y verificación, pero cobra por conversación y te obliga a un proceso de alta con un BSP o la Cloud API. OpenWA es no oficial y self-hosted: gratis, sin fees, control total y deploy en minutos, a cambio de asumir el mantenimiento y el riesgo de que Meta cambie algo del protocolo. Regla práctica: para volúmenes grandes, marca regulada o soporte formal, la oficial; para prototipos, automatizaciones internas, bots personales o proyectos donde no querés pagar por mensaje, OpenWA. Muchos arrancan con OpenWA para validar la idea y migran a la oficial cuando escalan. Un ejemplo de flujo real es un CRM que califica leads por WhatsApp.

Sí, ese es uno de sus fuertes: OpenWA es multi-sesión, así que corrés varios números en una sola instancia. Cada número es una "sesión" que creás con POST /api/sessions, arrancás con /start y autenticás con su propio QR. Cada sesión guarda su estado en disco (data/sessions) y podés apuntar la base a SQLite para pruebas o a PostgreSQL para producción. Esto es ideal para agencias o para separar, por ejemplo, ventas de soporte en el mismo servidor. Cada request lleva el header X-API-Key, así que podés proteger y rotar el acceso por integración. Si vas a manejar muchos números, dejá el motor en whatsapp-web.js y monitoreá el uso de RAM: cada sesión levanta su propia instancia.

Al ser gratis y self-hosted, el margen queda del lado tuyo. Los caminos más comunes: cobrar por armar e instalar bots de atención a comercios, vender automatizaciones (recordatorios de turnos, confirmaciones, cobranzas), o montar un micro-SaaS que use OpenWA por debajo y le factures al cliente por número o por volumen. Como no pagás fee por mensaje, tu costo real es el servidor, y todo lo demás es servicio. La clave es empaquetar el valor: nadie paga por "una API", pagan por "los turnos confirmados solos" o "los leads respondidos en 10 segundos". Para diseñar ese flujo de captura y respuesta automática mirá cómo armar un bot de WhatsApp con Claude y la documentación de OpenWA para las piezas técnicas.

Fuentes e inspiración

Mirá los posts originales donde desarrollamos estas ideas en redes.

Serie en curso10 guías publicadas

Las mejores herramientas de IA para tu negocio: comparativas reales, Kimi K2 y el stack que realmente funciona.

Ver todo Herramientas IA