# API não oficial do WhatsApp: Baileys, WAHA e Evolution comparados

> Baileys, whatsapp-web.js, WAHA, Evolution API, Whapi.Cloud e Green-API comparados: licença, conexão, a mudança de passkey de junho de 2026 e quem arca com o banimento.

Source: https://whasp.ai/pt/blog/api-nao-oficial-whatsapp-baileys-waha-evolution · 2026-10-20

## O essencial

- Baileys e whatsmeow são bibliotecas, o whatsapp-web.js controla um navegador, WAHA e Evolution API as envolvem num servidor REST, e Whapi.Cloud e Green-API hospedam a mesma ideia.
- Em 19 de outubro de 2026, só o whatsmeow e o engine GOWS do WAHA lançaram suporte à etapa de vinculação por passkey do WhatsApp; o Baileys não tem nenhum, e a Evolution API tem um pull request aberto.
- Toda opção não oficial vincula uma conta que é sua, então o número, o celular e o banimento são seus; a página de ajuda do WhatsApp avisa que isso pode terminar em banimento temporário ou permanente.
- O WAHA é o caminho mais rápido para uma API REST funcionando, o Baileys é a biblioteca mais leve e a Evolution API é a que tem mais integrações prontas, mas confira qual versão do Baileys ela fixa.

Baileys e whatsmeow são bibliotecas, o whatsapp-web.js controla um navegador, WAHA e Evolution API as envolvem num servidor REST, e Whapi.Cloud e Green-API hospedam a mesma ideia. Elas diferem em linguagem, licença e acabamento, mas todas entram numa conta de WhatsApp que é sua e a controlam por código. O número, o celular e o banimento são seus.

## Qual delas escolher?

- **Go, ou o menor consumo possível:** whatsmeow para Go, Baileys para TypeScript. Os dois falam com o WhatsApp por WebSocket e não precisam de navegador.
- **Uma API REST funcionando esta semana:** WAHA. Roda em Docker com Swagger, painel e webhooks, e publica uma versão a cada duas ou três semanas.
- **Chatwoot, Typebot ou Dify na stack:** Evolution API, que traz essas integrações e também pode usar a Cloud API oficial da Meta.
- **O cliente web de verdade, aceitando o Chromium:** whatsapp-web.js.
- **Sem servidores para rodar:** Whapi.Cloud ou Green-API, que ainda vinculam o seu número.
- **Um número cujo risco de banimento não fique com você:** um número gerenciado como o da whasp, ou a plataforma oficial para bots específicos de uma empresa.

## Como elas se comparam?

| Opção | Tipo, linguagem | Licença | Conecta por | Vinculação por passkey, 19 out 2026 | Custo |
| --- | --- | --- | --- | --- | --- |
| Baileys | Biblioteca, TypeScript | MIT | WebSocket, sem navegador | Sem suporte | Grátis |
| whatsapp-web.js | Biblioteca, JavaScript | Apache-2.0 | Puppeteer controla o WhatsApp Web | Sem correção, issue fechada pelo stale bot | Grátis |
| whatsmeow | Biblioteca, Go | MPL-2.0 | WebSocket | Suportada desde 1º de julho de 2026 | Grátis |
| WAHA | Servidor REST, TypeScript | Apache-2.0 | WEBJS e WPP (navegador), NOWEB e GOWS (WebSocket) | Só o GOWS, com uma extensão de navegador | Grátis, com um plano de suporte opcional de $5 por mês |
| Evolution API | Servidor REST, TypeScript | Apache-2.0 com condições extras | Baileys ou a Cloud API oficial | Pull request aberto | Grátis |
| Whapi.Cloud | API hospedada | Serviço hospedado | Sessão de dispositivo vinculado por QR code | Não mencionado nas páginas que lemos | $29 por mês por número (€26 na página europeia) |
| Green-API | API hospedada | Serviço hospedado | Instância vinculada por QR code | Plugin do Chrome e guia | Grátis para 3 chats, depois $12 ou $24 por mês por instância |
| whasp | Números gerenciados e API | Serviço hospedado | Um celular real que nós operamos, nada para você vincular | Não se aplica | $49 por número a cada 30 dias |

Todas documentam grupos, mídia, reações e enquetes. O whatsapp-web.js lista também canais, e precisa do Google Chrome, e não do Chromium, para enviar vídeo.

## O que muda em cada uma?

**Baileys** tem 11,4 mil estrelas no GitHub. O README o descreve como uma [biblioteca baseada em WebSockets](https://github.com/WhiskeySockets/Baileys) que dispensa Selenium ou navegador. A versão 7 demorou: a rc9 saiu em 21 de novembro de 2025, a rc10 em 6 de maio de 2026, e a rc14, de 29 de julho de 2026, é a mais recente. As [notas da rc11](https://github.com/WhiskeySockets/Baileys/releases/tag/v7.0.0-rc11) dos mantenedores dizem que a dependência libsignal é GPLv3 enquanto o Baileys é MIT, e que eles planejam substituí-la. Leia isso antes de colocá-lo num produto comercial.

**whatsapp-web.js** roda o WhatsApp Web dentro de um Chromium gerenciado, via Puppeteer. Isso significa mais memória, mas usa o cliente web de verdade. Exige o Node 18 ou mais novo, e a última versão é a 1.34.7 (24 de abril de 2026), com commits continuando até o fim de setembro.

**whatsmeow** é a biblioteca em Go por baixo do engine GOWS do WAHA. É a única biblioteca desta lista com suporte a passkey mesclado.

**WAHA** é um servidor, não uma biblioteca. O WEBJS, o padrão, e o WPP rodam um navegador. O NOWEB (Node.js, baseado no Baileys) e o GOWS (Go) usam WebSocket. Desde a versão 2026.6.1, recursos que eram só do Plus estão na imagem Core gratuita. O WAHA também documenta o [reachout timelock](https://whasp.ai/pt/blog/erro-463-whatsapp-reachout-timelock) e traz um app de MCP.

**Evolution API** adiciona hooks de Typebot, Chatwoot, Dify, OpenAI, RabbitMQ e Kafka, além de um modo Cloud API. A licença é Apache-2.0 com condições extras sobre exibir a marca e notificar usuários, então leia o arquivo. A última versão estável é a 2.3.7 (5 de dezembro de 2025), e a branch main fixa o Baileys 7.0.0-rc.9, enquanto a branch develop usa a rc13.

**Whapi.Cloud** e **Green-API** vendem o mesmo modelo de conta vinculada como serviço. O sandbox grátis da Whapi permite 5 conversas ativas por mês, e o plano grátis da Green-API permite 3 chats.

## Quais delas avisam antes de a restrição pegar?

Nem todas expõem o estado de restrição do WhatsApp. O Baileys tem `fetchAccountReachoutTimelock()` e uma atualização `reachoutTimeLock` desde a rc10. O WAHA oferece um endpoint de timelock para GOWS, NOWEB e WEBJS desde a versão 2026.8.1. O whatsmeow mesclou o tratamento de tokens de contato confiável em 27 de abril de 2026, enquanto um pull request para checar o timelock e os limites de mensagens está aberto desde 25 de março. Não encontramos algo equivalente no whatsapp-web.js, e a Evolution API só recebe esses recursos pela versão do Baileys que fixa. Os detalhes estão na [explicação do erro 463](https://whasp.ai/pt/blog/erro-463-whatsapp-reachout-timelock).

## O que a mudança de passkey de junho de 2026 quebrou?

Em 30 de junho de 2026, os trackers do Baileys, WAHA, Evolution API, whatsapp-web.js e whatsmeow receberam o mesmo relato. Depois de o QR code ou o código de pareamento ser aceito, o WhatsApp pedia uma passkey e a vinculação nunca terminava. Atingiu algumas contas, não todas. O WAHA diz "algumas contas", e a [Green-API](https://green-api.com/en/docs/faq/what-is-passkey/) diz que o WhatsApp começou a testar a mudança com alguns usuários no verão do hemisfério norte de 2026. Não encontramos nenhum anúncio do WhatsApp.

Uma análise da comunidade na [issue 2672 do Baileys](https://github.com/WhiskeySockets/Baileys/issues/2672), feita a partir de uma captura do whatsmeow e do código do WhatsApp Web, diz que o servidor envia uma requisição WebAuthn depois do pareamento, com o codinome interno "Shortcake", exigindo verificação do usuário. O autor marca o que foi observado e o que foi inferido. A consequência é que um cliente headless não consegue assiná-la sozinho, então uma pessoa com um autenticador precisa participar.

Em que pé está cada uma:

- **whatsmeow:** [suporte a passkey mesclado](https://github.com/tulir/whatsmeow/pull/1186) em 1º de julho de 2026.
- **WAHA:** o engine GOWS recebeu o suporte na versão 2026.7.1 (15 de julho). Uma [extensão de navegador assina o desafio](https://waha.devlike.pro/blog/waha-passkey/). NOWEB, WEBJS e WPP ainda estavam sem verificação na issue de acompanhamento do WAHA.
- **Baileys:** nada mesclado. Um pull request que adicionava o handshake foi fechado sem merge em 20 de agosto, um segundo em 4 de setembro, e a issue está aberta. O último commit na master é de 4 de agosto.
- **Evolution API:** um [pull request](https://github.com/evolution-foundation/evolution-api/pull/2628) está aberto desde 7 de julho.
- **whatsapp-web.js:** a issue foi fechada pelo stale bot em 19 de agosto, sem correção.

Desde meados de julho, alguns usuários dizem que as contas deles deixaram de receber o pedido. É um relato anedótico, e só o WhatsApp sabe se houve reversão. Os contornos copiam uma sessão de uma aba real do WhatsApp Web para a biblioteca. Isso tira material de chave de um perfil de navegador, então trate-o como sensível.

## Que problema todas elas compartilham?

Toda opção, exceto a plataforma oficial, vincula uma conta que é sua como cliente não oficial. A [página de ajuda do WhatsApp sobre dispositivos conectados](https://faq.whatsapp.com/378279804439436) diz que vincular uma conta a um app ou site não oficial, agora ou no passado, pode resultar em banimento temporário ou permanente. Diz também que os dispositivos conectados são desconectados se o celular ficar sem uso por mais de 14 dias. WAHA e Baileys trazem avisos parecidos nos próprios disclaimers. Veja [por que o WhatsApp bane números](https://whasp.ai/pt/blog/motivos-banimento-whatsapp-numero) e o [erro 463](https://whasp.ai/pt/blog/erro-463-whatsapp-reachout-timelock).

Então o banimento fica com você, e você cuida da sessão, do celular e do aquecimento. Os serviços hospedados tiram os servidores, não o risco.

## Onde a whasp é diferente?

A whasp opera o número: uma conta pessoal real de WhatsApp em um celular na nuvem próprio e com IP de ISP próprio, aquecida, com monitoramento de saúde. Você recebe um webhook e uma chamada de API. Se um número é banido, ele é substituído sem custo, com o mesmo perfil, mas os chats não migram. Custa $49 por número a cada 30 dias, para cerca de 100 usuários ativos.

As concessões são reais. Os usuários precisam escrever primeiro, e não há grupos, mensagens de voz de saída nem como trazer o próprio número. Uma biblioteca dá grupos e mais recursos, com o risco na sua própria conta. Para bots específicos de uma empresa, como suporte ou pedidos, a plataforma oficial costuma ser a resposta certa. Os termos da Meta barram dela os assistentes de IA de uso geral, como mostra [Meta proíbe IA no WhatsApp: a regra de 2026 e como está hoje](https://whasp.ai/pt/blog/meta-proibe-ia-whatsapp-regra-2026).

## Para onde ir agora?

Para todas as rotas, oficiais e não oficiais, leia [como colocar um agente de IA no WhatsApp](https://whasp.ai/pt/blog/colocar-agente-ia-whatsapp-opcoes). Para conectar o Claude ou o ChatGPT, veja os [servidores MCP para WhatsApp](https://whasp.ai/pt/blog/servidor-mcp-whatsapp-claude-chatgpt). Detalhes e preços estão na [página de preços](https://whasp.ai/pt/pricing).

## Perguntas

### Qual é a melhor API não oficial do WhatsApp?

Não existe uma única melhor. O WAHA entrega a API REST mais rápida, com painel; o Baileys é a biblioteca TypeScript mais leve; e o whatsmeow serve para Go. Todas rodam num número que é seu, então o banimento cai em você.

### Qual a diferença entre Baileys e whatsapp-web.js?

O Baileys fala direto com o WhatsApp por WebSocket, sem navegador. O whatsapp-web.js usa o Puppeteer para controlar a página real do WhatsApp Web no Chromium, o que gasta mais memória, mas roda o cliente web de verdade.

### WAHA ou Evolution API: qual é melhor?

O WAHA oferece quatro engines, um painel e lançamentos frequentes. A Evolution API é construída sobre o Baileys ou a Cloud API oficial e traz integrações como Typebot, Chatwoot e Dify. Confira qual versão do Baileys a Evolution API fixa antes de escolher.

### As APIs não oficiais do WhatsApp ainda funcionam depois da mudança de passkey de junho de 2026?

Para contas que não foram solicitadas a criar uma passkey, sim. Para as que foram, a vinculação só funciona no whatsmeow e no engine GOWS do WAHA com uma extensão de navegador. Baileys e whatsapp-web.js não têm correção em 19 de outubro de 2026.
