OpenWA
Self-hosted, open-source WhatsApp HTTP API gateway with a web dashboard, webhooks, and multi-session support.
At a Glance
About OpenWA
OpenWA is an MIT-licensed, self-hosted WhatsApp API gateway built by Yudhi Armyndharis (rmyndharis) and community contributors. It exposes WhatsApp messaging through a REST API, a bundled React dashboard, and HMAC-signed webhooks, and the latest release listed is v0.25.0.
What It Is
OpenWA is a gateway that connects to WhatsApp through unofficial, reverse-engineered clients (whatsapp-web.js by default, or baileys via the ENGINE_TYPE setting) rather than Meta's official Cloud API. Developers run it on their own infrastructure, link a number by scanning a QR code, and then send and receive messages over HTTP. The project states it is independent and not affiliated with Meta or WhatsApp.
How the Workflow Operates
You create a session, start it, scan the QR code, and then call endpoints such as send-text, media, reactions, edits, bulk sending, groups, channels, and labels. Webhooks deliver events like message.received and session.status, with optional filters on fields such as sender, chatId, or type. Multiple WhatsApp sessions can run concurrently on one instance, with optional per-session proxies.
Access Control and Pluggable Infrastructure
API keys can carry admin, operator, or viewer roles and can be restricted to specific sessions and, in newer releases, to specific chats. Other controls include CIDR IP whitelisting, rate limiting, and audit logging. Database (SQLite or PostgreSQL), storage (local, S3, or MinIO), and cache (memory or Redis) are swappable by configuration. Deployment is via Docker Compose with multi-arch images and optional postgres, redis, minio, and full profiles.
Ecosystem and AI Agent Access
OpenWA offers an optional MCP server, off by default, that exposes 25 read-only tools or 51 tools with writes enabled. It also lists official SDKs for JavaScript/TypeScript, Python, and PHP, n8n community nodes, a sandboxed plugin system, and a community ioBroker adapter.
Tradeoffs to Know
The README warns there is always a non-zero risk of account restriction or ban, recommends a dedicated number, and advises against regulated or compliance-sensitive deployments, pointing to the official Cloud API instead. The two engines differ: whatsapp-web.js is described as lower risk but heavier on RAM, while baileys is lighter but easier to fingerprint.
Community Discussions
Be the first to start a conversation about OpenWA
Share your experience with OpenWA, ask questions, or help others learn from your insights.
Pricing
OpenWA (Self-Hosted)
Free, self-hosted WhatsApp API gateway under the MIT license, usable in personal and commercial projects.
- MIT License
- Full REST API
- Multi-session support
- Real-time webhooks (HMAC)
- Web dashboard
Capabilities
Key Features
- Full REST API for WhatsApp
- Multi-session support
- HMAC-signed webhooks with smart filters
- Web dashboard
- Scoped API keys (session and chat allowlists)
- Text, media, reactions, edits, and bulk messaging
- Groups, channels, and labels APIs
- Per-session proxy support
- CIDR IP whitelisting and rate limiting
- Audit logging
- Pluggable database, storage, and cache adapters
- Dual engine: whatsapp-web.js or baileys
- Optional MCP server for AI agents
- Plugin system
- Swagger API docs
- Multi-arch Docker deployment
