API WhatsApp non officielles comparées : Baileys, WAHA, Evolution

Baileys, whatsapp-web.js, WAHA, Evolution API, Whapi.Cloud et Green-API comparés : licence, connexion, changement de passkey de juin 2026 et qui porte le bannissement.

Un enchevêtrement de fins câbles reliant plusieurs petits téléphones à un ordinateur portable, un câble brille en vert.

L’essentiel

  • Baileys et whatsmeow sont des bibliothèques, whatsapp-web.js pilote un navigateur, WAHA et Evolution API les enveloppent dans un serveur REST, et Whapi.Cloud et Green-API hébergent la même idée.
  • Au 19 octobre 2026, seuls whatsmeow et le moteur GOWS de WAHA ont livré la prise en charge de l'étape de liaison par passkey de WhatsApp ; Baileys n'en a aucune, et Evolution API a une pull request ouverte.
  • Chaque option non officielle lie un compte qui vous appartient : le numéro, le téléphone et le bannissement sont à vous, et la page d'aide de WhatsApp avertit que cela peut finir en bannissement temporaire ou définitif.
  • WAHA est la voie la plus rapide vers une API REST qui marche, Baileys la bibliothèque la plus légère, et Evolution API celle qui a le plus d'intégrations natives, mais vérifiez quelle version de Baileys elle épingle.

Baileys et whatsmeow sont des bibliothèques, whatsapp-web.js pilote un navigateur, WAHA et Evolution API les enveloppent dans un serveur REST, et Whapi.Cloud et Green-API hébergent la même idée. Elles diffèrent par le langage, la licence et le niveau de finition, mais toutes se connectent à un compte WhatsApp qui vous appartient et le pilotent par code. Le numéro, le téléphone et le bannissement sont à vous.

Laquelle choisir ?

  • Go, ou une empreinte minimale : whatsmeow pour Go, Baileys pour TypeScript. Les deux parlent à WhatsApp par un WebSocket et n’ont pas besoin de navigateur.
  • Une API REST qui marche cette semaine : WAHA. Il tourne dans Docker avec Swagger, un tableau de bord et des webhooks, et publie une version toutes les deux à trois semaines.
  • Chatwoot, Typebot ou Dify dans votre stack : Evolution API, qui fournit ces intégrations et peut aussi utiliser la Cloud API officielle de Meta.
  • Le vrai client web, en acceptant Chromium : whatsapp-web.js.
  • Aucun serveur à exploiter : Whapi.Cloud ou Green-API, qui lient quand même votre propre numéro.
  • Un numéro dont vous ne portez pas le risque : un numéro géré comme whasp, ou la plateforme officielle pour les bots propres à une entreprise.

Comment se comparent-elles ?

Option Type, langage Licence Connexion Liaison par passkey, 19 oct. 2026 Coût
Baileys Bibliothèque, TypeScript MIT WebSocket, sans navigateur Non prise en charge Gratuit
whatsapp-web.js Bibliothèque, JavaScript Apache-2.0 Puppeteer pilote WhatsApp Web Pas de correctif, issue fermée comme périmée Gratuit
whatsmeow Bibliothèque, Go MPL-2.0 WebSocket Prise en charge depuis le 1er juillet 2026 Gratuit
WAHA Serveur REST, TypeScript Apache-2.0 WEBJS et WPP (navigateur), NOWEB et GOWS (WebSocket) GOWS uniquement, avec une extension de navigateur Gratuit, offre de support optionnelle à $5 par mois
Evolution API Serveur REST, TypeScript Apache-2.0 plus conditions supplémentaires Baileys, ou la Cloud API officielle Pull request ouverte Gratuit
Whapi.Cloud API hébergée Service hébergé Session d’appareil lié que vous associez par QR code Non mentionnée dans les pages lues $29 par mois et par numéro (26 € sur sa page européenne)
Green-API API hébergée Service hébergé Instance que vous liez par QR code Plugin Chrome et guide Gratuit pour 3 chats, puis $12 ou $24 par mois et par instance
whasp Numéros gérés et API Service hébergé Un vrai téléphone que nous exploitons, rien à lier de votre côté Sans objet $49 par numéro tous les 30 jours

Toutes documentent les groupes, les médias, les réactions et les sondages. whatsapp-web.js liste aussi les chaînes, et il lui faut Google Chrome plutôt que Chromium pour envoyer des vidéos.

Qu’est-ce qui distingue chacune ?

Baileys compte 11,4k étoiles GitHub. Son README le décrit comme une bibliothèque basée sur les WebSockets qui n’a besoin ni de Selenium ni d’un navigateur. La version 7 a pris beaucoup de temps : rc9 est sortie le 21 novembre 2025, rc10 le 6 mai 2026, et rc14, du 29 juillet 2026, est la dernière. Les notes de la rc11 des mainteneurs disent que sa dépendance libsignal est sous GPLv3 alors que Baileys est sous MIT, et qu’ils prévoient de la remplacer. Lisez cela avant de l’embarquer dans un produit commercial.

whatsapp-web.js fait tourner WhatsApp Web dans un Chromium géré, via Puppeteer. Cela demande plus de mémoire, mais utilise le vrai client web. Il faut Node 18 ou plus récent, et sa dernière version est la 1.34.7 (24 avril 2026), avec des commits qui se poursuivent jusqu’à fin septembre.

whatsmeow est la bibliothèque Go sous le moteur GOWS de WAHA. C’est la seule bibliothèque de cette liste dont la prise en charge des passkeys est fusionnée.

WAHA est un serveur plutôt qu’une bibliothèque. WEBJS, le moteur par défaut, et WPP font tourner un navigateur. NOWEB (Node.js, basé sur Baileys) et GOWS (Go) utilisent un WebSocket. Depuis la version 2026.6.1, des fonctions autrefois réservées à Plus sont dans l’image Core gratuite. WAHA documente aussi le reachout timelock et fournit une app MCP.

Evolution API ajoute des intégrations Typebot, Chatwoot, Dify, OpenAI, RabbitMQ et Kafka, plus un mode Cloud API. Sa licence est Apache-2.0 avec des conditions supplémentaires sur l’affichage de sa marque et l’information des utilisateurs : lisez le fichier. Sa dernière version stable est la 2.3.7 (5 décembre 2025) et sa branche main épingle Baileys 7.0.0-rc.9, tandis que la branche develop utilise rc13.

Whapi.Cloud et Green-API vendent le même modèle de compte lié sous forme de service. Le bac à sable gratuit de Whapi autorise 5 conversations actives par mois, et l’offre gratuite de Green-API 3 chats.

Lesquelles vous préviennent avant qu’une restriction ne tombe ?

Toutes n’exposent pas l’état de restriction de WhatsApp. Baileys a fetchAccountReachoutTimelock() et une mise à jour reachoutTimeLock depuis rc10. WAHA propose un endpoint timelock pour GOWS, NOWEB et WEBJS depuis la version 2026.8.1. whatsmeow a fusionné sa gestion des jetons de contact de confiance le 27 avril 2026, tandis qu’une pull request pour vérifier le timelock et les plafonds de messages est ouverte depuis le 25 mars. Nous n’avons pas trouvé d’équivalent dans whatsapp-web.js, et Evolution API n’obtient ces fonctions que par la version de Baileys qu’elle épingle. Le détail est dans l’explication de l’erreur 463.

Qu’a cassé le changement de passkey de juin 2026 ?

Le 30 juin 2026, les trackers de Baileys, WAHA, Evolution API, whatsapp-web.js et whatsmeow ont tous reçu le même signalement. Une fois le QR code ou le code d’association accepté, WhatsApp demandait une passkey et la liaison n’aboutissait jamais. Cela touchait certains comptes, pas tous. WAHA parle de « certains comptes », et Green-API dit que WhatsApp a commencé en été 2026 une migration expérimentale de certains utilisateurs. Nous n’avons trouvé aucune annonce de WhatsApp.

Une analyse de la communauté, dans l’issue 2672 de Baileys et construite à partir d’une capture de whatsmeow et du code de WhatsApp Web, dit que le serveur envoie une requête WebAuthn après l’association, au nom de code interne « Shortcake », avec vérification de l’utilisateur obligatoire. Son auteur distingue ce qui a été observé de ce qui a été déduit. La conséquence est qu’un client sans interface ne peut pas la signer seul : une personne munie d’un authentificateur doit intervenir.

Où en est chaque projet :

  • whatsmeow : prise en charge des passkeys fusionnée le 1er juillet 2026.
  • WAHA : le moteur GOWS l’a reçue dans la version 2026.7.1 (15 juillet). Une extension de navigateur signe le défi. NOWEB, WEBJS et WPP n’étaient pas encore cochés dans l’issue de suivi de WAHA.
  • Baileys : rien n’est fusionné. Une pull request ajoutant la poignée de main a été fermée sans fusion le 20 août, une seconde le 4 septembre, et l’issue est ouverte. Le dernier commit sur master date du 4 août.
  • Evolution API : une pull request est ouverte depuis le 7 juillet.
  • whatsapp-web.js : l’issue a été fermée par le bot stale le 19 août, sans correctif.

Depuis la mi-juillet, certains utilisateurs disent que leurs comptes ne se voient plus demander de passkey. C’est anecdotique, et seul WhatsApp sait si le changement a été annulé. Les contournements copient une session depuis un vrai onglet WhatsApp Web vers la bibliothèque. Cela fait sortir du matériel de clés d’un profil de navigateur : traitez-le comme sensible.

Quel problème partagent-elles toutes ?

Toutes les options, sauf la plateforme officielle, lient un compte qui vous appartient en tant que client non officiel. La page d’aide de WhatsApp sur les appareils liés dit que lier un compte à une app ou à un site web non officiel, maintenant ou dans le passé, peut entraîner un bannissement temporaire ou définitif. Elle précise aussi que les appareils liés sont déconnectés si le téléphone reste inutilisé plus de 14 jours. WAHA et Baileys portent des avertissements similaires dans leurs propres clauses de non-responsabilité. Voyez pourquoi WhatsApp bannit des numéros et l’erreur 463.

Vous portez donc le bannissement, et vous gérez la session, le téléphone et le préchauffage (warm-up). Les services hébergés suppriment les serveurs, pas le risque.

En quoi whasp se distingue-t-il ?

whasp exploite le numéro : un vrai compte WhatsApp personnel sur son propre téléphone cloud et sa propre IP de fournisseur d’accès (ISP), préchauffé, avec une surveillance de santé. Vous obtenez un webhook et un seul appel d’API. Si un numéro est banni, il est remplacé gratuitement avec le même profil, mais les conversations ne passent pas sur le nouveau. Il coûte $49 par numéro tous les 30 jours, pour environ 100 utilisateurs actifs.

Les compromis sont réels. Les utilisateurs doivent écrire en premier, il n’y a ni groupes, ni messages vocaux sortants, et vous ne pouvez pas apporter votre propre numéro. Une bibliothèque donne les groupes et davantage de fonctions, avec le risque sur votre propre compte. Pour les bots propres à une entreprise, comme le support ou les commandes, la plateforme officielle est souvent la bonne réponse. Les conditions de Meta en excluent les assistants IA généralistes, comme l’explique WhatsApp interdit les chatbots IA en 2026.

Pour aller plus loin

Pour toutes les voies, officielles et non officielles, lisez Mettre un agent IA sur WhatsApp : toutes les options. Pour brancher Claude ou ChatGPT, voyez les serveurs MCP WhatsApp. Le détail et les prix sont sur la page des tarifs.

Questions

Quelle est la meilleure API WhatsApp non officielle ?

Il n'y en a pas une seule. WAHA donne l'API REST la plus rapide à mettre en route, avec un tableau de bord, Baileys est la bibliothèque TypeScript la plus légère, et whatsmeow convient à Go. Toutes tournent sur un numéro qui vous appartient : un bannissement vous retombe dessus.

Quelle est la différence entre Baileys et whatsapp-web.js ?

Baileys parle directement à WhatsApp par un WebSocket, sans navigateur. whatsapp-web.js utilise Puppeteer pour piloter la vraie page WhatsApp Web dans Chromium, ce qui coûte plus de mémoire mais fait tourner le vrai client web.

WAHA ou Evolution API : lequel est meilleur ?

WAHA propose quatre moteurs, un tableau de bord et des versions fréquentes. Evolution API repose sur Baileys ou sur la Cloud API officielle et fournit des intégrations comme Typebot, Chatwoot et Dify. Vérifiez quelle version de Baileys Evolution API épingle avant de choisir.

Les API WhatsApp non officielles fonctionnent-elles encore après le changement de passkey de juin 2026 ?

Pour les comptes à qui aucune passkey n'a été demandée, oui. Pour les autres, la liaison ne fonctionne que dans whatsmeow et dans le moteur GOWS de WAHA avec une extension de navigateur. Baileys et whatsapp-web.js n'ont pas de correctif au 19 octobre 2026.

Tous les articles