Skip to main content
whatsmeow-node logo

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-node
Get StartedAPI Reference
5 lines to connect
import { 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.

Disclaimer

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.