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.

¿Querés el stack de IA correcto operando en tu negocio?
Sin demos infinitas. Sin contratar consultor. Sin elegir mal.
02 · ¿Por qué usar una API self-hosted en vez de la oficial?
- Cero fees por conversación. La API oficial de WhatsApp Business cobra por conversación; OpenWA no cobra nada.
- Control total. Los datos y las sesiones viven en tu servidor, no en un tercero.
- Deploy en minutos. Un
docker compose up -dy ya tenés la API corriendo. - 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.
Pagás por cada conversación, esperás aprobaciones y tus datos pasan por un tercero. El costo escala con el volumen.
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:
Definí tu X-API-Key en el archivo de entorno y levantá el stack:
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:
| Comando | Qué hace | Cuándo usarlo |
|---|---|---|
POST /api/sessions | Crea una sesión nueva (un número) | Al dar de alta cada cuenta de WhatsApp |
POST /api/sessions/{sessionId}/start | Arranca la sesión | Después de crearla, para generar el QR |
GET /api/sessions/{sessionId}/qr | Devuelve el QR para vincular | Una vez, al conectar el número por primera vez |
POST /api/sessions/{sessionId}/messages/send-text | Manda un mensaje de texto | Cada 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:
Pedís el QR y lo escaneás desde WhatsApp (Dispositivos vinculados):
Y mandás el primer mensaje:
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:
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.
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 -den el puerto2785, 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.
10 repos open source que hacen lo mismo que apps que pagás todos los meses: descargar videos, correr IA local, diseñar, automatizar, agendar y más. Todos gratis, con el link de GitHub de cada uno.

¿Querés el stack de IA correcto operando en tu negocio?
Sin demos infinitas. Sin contratar consultor. Sin elegir mal.
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.
Llevate el próximo en tu inbox
NewsletterUn mail al mes con el próximo recurso.







