// the find
avoylenko/wwebjs-api
This project is a REST API wrapper for the whatsapp-web.js library, providing an easy-to-use interface to interact with the WhatsApp Web platform.
A REST API wrapper around whatsapp-web.js that lets non-Node projects interact with WhatsApp Web via HTTP. It's a maintained fork of an abandoned predecessor, packaged as a Docker container with multi-session support, webhooks, WebSocket events, and a basic web dashboard. Aimed at developers who want to automate WhatsApp without writing Node code themselves.
- Multi-session support with per-session webhook URL overrides is genuinely useful for SaaS-style deployments where different tenants need separate callbacks.
- Swagger/OpenAPI spec is included and kept in sync, so you can actually generate clients or test endpoints without reading source code.
- Proxy support (HTTP, HTTPS, SOCKS5 with auth) is well-thought-out and important for anyone running this outside a residential IP.
- Active maintenance with CI workflows, dependabot, and a daily edge build against whatsapp-web.js main — the project doesn't look abandoned like its predecessor.
- The entire thing rests on unofficial reverse-engineering of WhatsApp Web via puppeteer/Chromium. WhatsApp actively detects and bans these clients; the README admits this, but the blast radius of a ban hitting a production account with real users is severe and unrecoverable.
- Session state is stored as local files — no built-in support for Redis or any external store, which makes horizontal scaling painful despite the Docker-first framing.
- A single API key for the whole service with no per-session or per-route granularity means you can't safely hand out credentials to multiple consumers.
- Test coverage appears to be integration tests that require a live WhatsApp session, making CI on PRs essentially untestable without a real phone number.