The whatsapp-web.js guide is a work in progress, which means there may be typos or unintentional errors. If this happens, please create an issue on Githubopen in new window. The guide may not offer all available functions. To learn more about all the functions available to you in the library, please see the documentationopen in new window.


whatsapp-web.jsopen in new window is an unofficial, open-source library that isn't made by WhatsApp or affiliated with it in any way. This library is designed to offer developers the freedom to create WhatsApp clients, chatbots, applications, and more using node.jsopen in new window.


This project is not affiliated, associated, authorized, endorsed by, or in any way officially connected with WhatsApp or any of its subsidiaries or its affiliates. The official WhatsApp website can be found at whatsapp.comopen in new window. "WhatsApp" as well as related names, marks, emblems and images are registered trademarks of their respective owners. Also it is not guaranteed you will not be blocked by using this method. WhatsApp does not allow bots or unofficial clients on their platform, so this shouldn't be considered totally safe. For any businesses looking to integrate with WhatsApp for critical applications, we highly recommend using officially supported methods, such as Twilio's solution or other alternatives. You might also consider the official APIopen in new window.

How It Works

The library works by launching the WhatsApp Web browser application and managing it using Puppeteer to create an instance of WhatsApp Web, thereby mitigating the risk of being blocked. The WhatsApp API client connects through the WhatsApp Web browser app, accessing its internal functions. This grants you access to nearly all the features available on WhatsApp Web, enabling dynamic handling similar to any other Node.js application.


Getting into bot development with whatsapp-web.js is thrilling, but there are certain prerequisites you should be aware of. To construct a bot using whatsapp-web.js, it's crucial to have a good understanding of JavaScript. While it's possible to begin with limited JavaScript and programming knowledge, attempting to create a bot without a solid grasp of the language may result in frustration. You may encounter challenges with basic tasks, find it difficult to solve simple problems, and end up feeling discouraged.

If you are a complete beginner, please take your time to learn more about the basics and come back with a better understanding of JavaScript and Node.js. Here are some free educational resources:

If you having trouble you can join the Discord communityopen in new window and ask for help.