# APIs no oficiales de WhatsApp: Baileys, WAHA y Evolution

> Baileys, whatsapp-web.js, WAHA, Evolution API, Whapi.Cloud y Green-API comparadas: licencia, conexión, el cambio de passkey de junio de 2026 y quién asume el baneo.

Source: https://whasp.ai/es/blog/api-no-oficial-whatsapp-comparativa · 2026-10-20

## Lo esencial

- Baileys y whatsmeow son librerías, whatsapp-web.js controla un navegador, WAHA y Evolution API las envuelven en un servidor REST, y Whapi.Cloud y Green-API alojan la misma idea.
- Al 19 de octubre de 2026, solo whatsmeow y el motor GOWS de WAHA han publicado soporte para el paso de vinculación con passkey de WhatsApp; Baileys no tiene ninguno y Evolution API tiene un pull request abierto.
- Toda opción no oficial vincula una cuenta que es tuya, así que el número, el teléfono y el baneo son tuyos; la página de ayuda de WhatsApp advierte de que esto puede acabar en un baneo temporal o permanente.
- WAHA es la vía más rápida a una API REST que funcione, Baileys la librería más ligera y Evolution API la que más integraciones trae, pero comprueba qué versión de Baileys fija.

Baileys y whatsmeow son librerías, whatsapp-web.js controla un navegador, WAHA y Evolution API las envuelven en un servidor REST, y Whapi.Cloud y Green-API alojan la misma idea. Se distinguen en lenguaje, licencia y acabado, pero todas inician sesión en una cuenta de WhatsApp que es tuya y la manejan desde el código. El número, el teléfono y el baneo son tuyos.

## ¿Cuál deberías elegir?

- **Go, o una huella mínima:** whatsmeow para Go, Baileys para TypeScript. Ambas hablan con WhatsApp por WebSocket y no necesitan navegador.
- **Una API REST funcionando esta semana:** WAHA. Corre en Docker con Swagger, un panel y webhooks, y publica una versión cada dos o tres semanas.
- **Chatwoot, Typebot o Dify en tu stack:** Evolution API, que trae esas integraciones y también puede usar la Cloud API oficial de Meta.
- **El cliente web real, aceptando Chromium:** whatsapp-web.js.
- **Sin servidores que mantener:** Whapi.Cloud o Green-API, que igualmente vinculan tu propio número.
- **Un número cuyo riesgo no recae en ti:** un número gestionado como whasp, o la plataforma oficial para bots específicos de un negocio.

## ¿Cómo se comparan?

| Opción | Tipo, lenguaje | Licencia | Cómo se conecta | Vinculación con passkey, 19 oct 2026 | Costo |
| --- | --- | --- | --- | --- | --- |
| Baileys | Librería, TypeScript | MIT | WebSocket, sin navegador | No soportada | Gratis |
| whatsapp-web.js | Librería, JavaScript | Apache-2.0 | Puppeteer controla WhatsApp Web | Sin solución, issue cerrado por inactividad (stale) | Gratis |
| whatsmeow | Librería, Go | MPL-2.0 | WebSocket | Soportada desde el 1 de julio de 2026 | Gratis |
| WAHA | Servidor REST, TypeScript | Apache-2.0 | WEBJS y WPP (navegador), NOWEB y GOWS (WebSocket) | Solo GOWS, con una extensión del navegador | Gratis, nivel de soporte opcional de $5 al mes |
| Evolution API | Servidor REST, TypeScript | Apache-2.0 con condiciones adicionales | Baileys, o la Cloud API oficial | Pull request abierto | Gratis |
| Whapi.Cloud | API alojada | Servicio alojado | Sesión de dispositivo vinculado que enlazas con un código QR | No se menciona en las páginas que leímos | $29 al mes por número (26 € en su página europea) |
| Green-API | API alojada | Servicio alojado | Instancia que vinculas con un código QR | Plugin de Chrome y guía | Gratis para 3 chats, luego $12 o $24 al mes por instancia |
| whasp | Números gestionados y API | Servicio alojado | Un teléfono real que gestionamos nosotros, nada que vincular | No aplica | $49 por número cada 30 días |

Todas documentan grupos, multimedia, reacciones y encuestas. whatsapp-web.js también lista canales, y necesita Google Chrome en lugar de Chromium para enviar video.

## ¿Qué distingue a cada una?

**Baileys** tiene 11,4 mil estrellas en GitHub. Su README la describe como una [librería basada en WebSockets](https://github.com/WhiskeySockets/Baileys) que no necesita Selenium ni navegador. La versión 7 tardó mucho: la rc9 salió el 21 de noviembre de 2025, la rc10 el 6 de mayo de 2026 y la rc14, del 29 de julio de 2026, es la última. Las [notas de la rc11](https://github.com/WhiskeySockets/Baileys/releases/tag/v7.0.0-rc11) de los mantenedores dicen que su dependencia libsignal es GPLv3 mientras que Baileys es MIT, y que planean reemplazarla. Léelo antes de usarla en un producto comercial.

**whatsapp-web.js** ejecuta WhatsApp Web dentro de un Chromium gestionado mediante Puppeteer. Eso supone más memoria, pero usa el cliente web real. Necesita Node 18 o posterior, y su última versión es la 1.34.7 (24 de abril de 2026), con commits que continúan hasta finales de septiembre.

**whatsmeow** es la librería de Go bajo el motor GOWS de WAHA. Es la única librería de esta lista con soporte de passkey fusionado.

**WAHA** es un servidor, no una librería. WEBJS, el predeterminado, y WPP ejecutan un navegador. NOWEB (Node.js, basado en Baileys) y GOWS (Go) usan un WebSocket. Desde la versión 2026.6.1, las funciones que antes eran solo de Plus están en la imagen Core gratuita. WAHA también documenta el [reachout timelock](https://whasp.ai/es/blog/error-463-whatsapp-reachout-timelock) y trae una app de MCP.

**Evolution API** añade integraciones con Typebot, Chatwoot, Dify, OpenAI, RabbitMQ y Kafka, además de un modo Cloud API. Su licencia es Apache-2.0 con condiciones adicionales sobre mostrar su marca y avisar a los usuarios, así que lee el archivo. Su última versión estable es la 2.3.7 (5 de diciembre de 2025) y su rama main fija Baileys 7.0.0-rc.9, mientras que la rama develop usa rc13.

**Whapi.Cloud** y **Green-API** venden el mismo modelo de cuenta vinculada como servicio. El sandbox gratuito de Whapi permite 5 conversaciones activas al mes, y el plan gratuito de Green-API permite 3 chats.

## ¿Cuáles te avisan antes de que llegue una restricción?

No todas exponen el estado de restricción de WhatsApp. Baileys tiene `fetchAccountReachoutTimelock()` y una actualización `reachoutTimeLock` desde la rc10. WAHA ofrece un endpoint timelock para GOWS, NOWEB y WEBJS desde la versión 2026.8.1. whatsmeow fusionó su manejo de tokens de contacto de confianza el 27 de abril de 2026, mientras que un pull request para comprobar el timelock y los topes de mensajes sigue abierto desde el 25 de marzo. No encontramos nada equivalente en whatsapp-web.js, y Evolution API recibe estas funciones solo a través de la versión de Baileys que fija. Los detalles están en [la explicación del error 463](https://whasp.ai/es/blog/error-463-whatsapp-reachout-timelock).

## ¿Qué rompió el cambio de passkey de junio de 2026?

El 30 de junio de 2026, los repositorios de seguimiento de Baileys, WAHA, Evolution API, whatsapp-web.js y whatsmeow recibieron el mismo reporte. Tras aceptar el código QR o el código de vinculación, WhatsApp pedía una passkey y la vinculación nunca terminaba. Afectó a algunas cuentas, no a todas. WAHA dice «algunas cuentas», y [Green-API](https://green-api.com/en/docs/faq/what-is-passkey/) dice que WhatsApp empezó a mover de forma experimental a algunos usuarios en el verano de 2026. No encontramos ningún anuncio de WhatsApp.

Un análisis de la comunidad en el [issue 2672 de Baileys](https://github.com/WhiskeySockets/Baileys/issues/2672), construido a partir de una captura de whatsmeow y del código de WhatsApp Web, dice que el servidor envía una solicitud WebAuthn tras la vinculación, con el nombre interno «Shortcake» y con verificación de usuario obligatoria. Su autor marca qué se observó y qué se infirió. La consecuencia es que un cliente headless no puede firmarla por sí solo, así que tiene que intervenir una persona con un autenticador.

Situación de cada una:

- **whatsmeow:** [fusionó el soporte de passkey](https://github.com/tulir/whatsmeow/pull/1186) el 1 de julio de 2026.
- **WAHA:** el motor GOWS lo recibió en la versión 2026.7.1 (15 de julio). Una [extensión del navegador firma el desafío](https://waha.devlike.pro/blog/waha-passkey/). NOWEB, WEBJS y WPP seguían sin comprobar en el issue de seguimiento de WAHA.
- **Baileys:** no hay nada fusionado. Un pull request que añadía el handshake se cerró sin fusionar el 20 de agosto, un segundo el 4 de septiembre, y el issue sigue abierto. El último commit en master es del 4 de agosto.
- **Evolution API:** un [pull request](https://github.com/evolution-foundation/evolution-api/pull/2628) lleva abierto desde el 7 de julio.
- **whatsapp-web.js:** el bot de inactividad (stale) cerró el issue el 19 de agosto sin solución.

Desde mediados de julio, algunos usuarios dicen que a sus cuentas dejaron de pedirles la passkey. Es anecdótico, y solo WhatsApp sabe si se revirtió. Las soluciones alternativas copian una sesión desde una pestaña real de WhatsApp Web a la librería. Eso saca material de claves de un perfil del navegador, así que trátalo como información sensible.

## ¿Qué problema comparten todas?

Toda opción salvo la plataforma oficial vincula una cuenta que es tuya como cliente no oficial. La [página de ayuda de WhatsApp sobre dispositivos vinculados](https://faq.whatsapp.com/378279804439436) dice que vincular una cuenta a una app o sitio web no oficial, ahora o en el pasado, puede provocar un baneo temporal o permanente. También dice que los dispositivos vinculados cierran sesión si el teléfono no se usa durante más de 14 días. WAHA y Baileys incluyen advertencias similares en sus propios avisos legales. Consulta [por qué WhatsApp banea números](https://whasp.ai/es/blog/motivos-baneo-numero-whatsapp) y el [error 463](https://whasp.ai/es/blog/error-463-whatsapp-reachout-timelock).

Así que el baneo es tuyo, y tú gestionas la sesión, el teléfono y el calentamiento. Los servicios alojados quitan los servidores, no el riesgo.

## ¿En qué se diferencia whasp?

whasp gestiona el número: una cuenta personal real de WhatsApp en su propio teléfono en la nube y con su propia IP de ISP, calentada y con supervisión de salud. Tú recibes un webhook y una llamada a la API. Si banean un número, se sustituye sin costo con el mismo perfil, pero los chats no se trasladan. Cuesta $49 por número cada 30 días, para unos 100 usuarios activos.

Las contrapartidas son reales. Los usuarios deben escribir primero, no hay grupos, ni notas de voz salientes, ni posibilidad de traer tu propio número. Una librería te da grupos y más funciones, con el riesgo sobre tu propia cuenta. Para bots específicos de un negocio, como soporte o pedidos, la plataforma oficial suele ser la respuesta correcta. Los términos de Meta excluyen de ella a los asistentes de IA de propósito general, como se explica en [WhatsApp prohíbe los chatbots de IA en 2026](https://whasp.ai/es/blog/whatsapp-prohibe-chatbots-ia-2026).

## Qué hacer ahora

Para ver todas las vías, oficiales y no oficiales, lee [Poner un agente de IA en WhatsApp en 2026: todas las opciones](https://whasp.ai/es/blog/agente-ia-whatsapp-opciones). Para conectar Claude o ChatGPT, consulta los [servidores MCP de WhatsApp](https://whasp.ai/es/blog/servidor-mcp-whatsapp-claude-chatgpt). Los detalles y los precios están en la [página de precios](https://whasp.ai/es/pricing).

## Preguntas

### ¿Cuál es la mejor API no oficial de WhatsApp?

No hay una sola mejor. WAHA da la API REST más rápida, con un panel; Baileys es la librería de TypeScript más ligera y whatsmeow encaja con Go. Todas funcionan sobre un número tuyo, así que el baneo recae en ti.

### ¿Qué diferencia hay entre Baileys y whatsapp-web.js?

Baileys habla con WhatsApp directamente por WebSocket, sin navegador. whatsapp-web.js usa Puppeteer para controlar la página real de WhatsApp Web en Chromium, lo que gasta más memoria pero ejecuta el cliente web de verdad.

### ¿Es mejor WAHA o Evolution API?

WAHA ofrece cuatro motores, un panel y versiones frecuentes. Evolution API se apoya en Baileys o en la Cloud API oficial e incluye integraciones como Typebot, Chatwoot y Dify. Comprueba qué versión de Baileys fija Evolution API antes de elegir.

### ¿Siguen funcionando las APIs no oficiales de WhatsApp tras el cambio de passkey de junio de 2026?

Para las cuentas a las que no se pidió una passkey, sí. Para las que sí, la vinculación solo funciona en whatsmeow y en el motor GOWS de WAHA con una extensión del navegador. Baileys y whatsapp-web.js no tienen solución al 19 de octubre de 2026.
