
WhatsApp for Node.js
Build WhatsApp integrations in TypeScript. Send messages, manage groups, handle media, automate workflows — with a typed API and npm install.
npm install @whatsmeow-node/whatsmeow-nodeimport { createClient } from "@whatsmeow-node/whatsmeow-node";
const client = createClient({ store: "session.db" });
client.on("message", ({ info, message }) => {
console.log(`${info.pushName}: ${message.conversation ?? "(media or other)"}`);
});
async function main() {
const { jid } = await client.init();
if (!jid) await client.getQRChannel();
await client.connect();
}
main();
Battle-tested upstream
Powered by whatsmeow, the Go library behind the Mautrix WhatsApp bridge — running 24/7 for thousands of users.
Lightweight
~10-20 MB memory. No headless browser, no Puppeteer, no WebSocket reimplementation. Just a single binary.
Fully typed
100 of 126 upstream methods wrapped, typed events, typed errors. Messages, groups, newsletters, media, polls, privacy, encryption, and more.
This project is not affiliated, associated, authorized, endorsed by, or in any way officially connected with WhatsApp or any of its subsidiaries or affiliates. The official WhatsApp website can be found at whatsapp.com. "WhatsApp" as well as related names, marks, emblems and images are registered trademarks of their respective owners. Use of this library may violate WhatsApp's Terms of Service. Use at your own risk. Do not use this for spamming, stalkerware, or bulk unsolicited messaging.