# devlikeapro/waha

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/devlikeapro-waha).**

6,121 stars · 1,279 forks · TypeScript · apache-2.0

## Links

- GitHub: https://github.com/devlikeapro/waha
- Homepage: https://waha.devlike.pro/
- awesome-repositories: https://awesome-repositories.com/repository/devlikeapro-waha.md

## Topics

`ai-bot` `bot` `http-api` `python-bot` `whatsapp` `whatsapp-api` `whatsapp-automation` `whatsapp-bot` `whatsapp-chat` `whatsapp-web` `whatsapp-web-api`

## Description

WAHA is a server that exposes WhatsApp as a programmable REST API, enabling applications and AI agents to send and receive messages programmatically. It operates unlimited independent WhatsApp sessions from a single instance, each with its own connection state and message history, and can switch between underlying WhatsApp communication libraries by changing a single environment variable while preserving the same API interface.

The system distinguishes itself through its engine abstraction layer, which allows operators to swap the WhatsApp communication library without modifying integrations, and its Model Context Protocol (MCP) server capability that lets AI agents read and send WhatsApp messages programmatically. It provides scope-based access control to restrict which operations AI agents can perform, and supports horizontal scaling by distributing sessions across multiple server instances. The service runs in a Docker container, authenticates via QR code scanning, and forwards incoming messages to configured webhook URLs for real-time processing.

Beyond core messaging, WAHA handles session lifecycle management through REST calls, supports multimedia message sending, and provides monitoring endpoints for health checks, uptime reporting, and configuration exposure. It also offers presence management features including chat-level typing indicators and global online status control.

## Tags

### Artificial Intelligence & ML

- [Messaging](https://awesome-repositories.com/f/artificial-intelligence-ml/mcp-servers/messaging.md) — Exposes WhatsApp as an MCP server so AI agents can read and send messages programmatically.
- [WhatsApp](https://awesome-repositories.com/f/artificial-intelligence-ml/mcp-servers/whatsapp.md) — Exposes a self-hosted WhatsApp instance as an MCP server for AI agent integration. ([source](https://waha.devlike.pro/docs/apps/mcp/))

### Part of an Awesome List

- [WhatsApp Multimedia Transmissions](https://awesome-repositories.com/f/awesome-lists/media/media-and-files/messaging-multimedia-transmission/whatsapp-multimedia-transmissions.md) — Sends images and videos through the WhatsApp REST API alongside text messages. ([source](https://waha.devlike.pro/docs/overview/faq/))

### DevOps & Infrastructure

- [Docker Container Deployments](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/container-runtimes/runtime-configuration-interfaces/docker-socket-orchestrators/docker-target-configurators/docker-container-deployments.md) — Ships a Docker container deployment for running the WhatsApp API server with a single command. ([source](https://cdn.jsdelivr.net/gh/devlikeapro/waha@core/README.md))

### Networking & Communication

- [WhatsApp Integrations](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/communication-apis/messaging-platform-integrations/whatsapp-integrations.md) — Provides WhatsApp integration capabilities including engine switching via environment variable. ([source](https://waha.devlike.pro/docs/engines/webjs/))
- [AI Agent Integrations](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/communication-apis/messaging-platform-integrations/whatsapp-integrations/ai-agent-integrations.md) — Exposes WhatsApp as an MCP server so AI agents can read and send messages programmatically.
- [Engine Abstraction Layers](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/communication-apis/messaging-platform-integrations/whatsapp-integrations/engine-abstraction-layers.md) — Provides an abstraction layer to switch WhatsApp libraries via environment variable.
- [Engine Switching](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/communication-apis/messaging-platform-integrations/whatsapp-integrations/engine-switching.md) — Provides the ability to swap WhatsApp communication libraries by changing a single environment variable. ([source](https://waha.devlike.pro/docs/engines))
- [Multi-Account Managers](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/communication-apis/messaging-platform-integrations/whatsapp-integrations/multi-account-managers.md) — Operates unlimited independent WhatsApp sessions from a single API instance with per-account message history.
- [Session Controllers](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/communication-apis/messaging-platform-integrations/whatsapp-integrations/session-controllers.md) — Creates, authenticates, and manages WhatsApp Web sessions with QR code scanning and engine switching.
- [Session Lifecycle Controllers](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/communication-apis/messaging-platform-integrations/whatsapp-integrations/session-lifecycle-controllers.md) — Creates, starts, stops, and removes authenticated WhatsApp sessions via REST calls for multi-account control.
- [Session Management APIs](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/communication-apis/messaging-platform-integrations/whatsapp-integrations/session-management-apis.md) — Provides REST API endpoints for creating, listing, and removing WhatsApp sessions. ([source](https://waha.devlike.pro/](https://waha.devlike.pro/))
- [WhatsApp Messaging Integrations](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/communication-apis/whatsapp-messaging-integrations.md) — Provides REST API endpoints for sending and receiving WhatsApp messages programmatically. ([source](https://waha.devlike.pro/dashboard](https://waha.devlike.pro/dashboard))
- [API Gateways](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/communication-apis/whatsapp-messaging-integrations/api-gateways.md) — Provides a REST API gateway that exposes WhatsApp messaging and session management as programmable endpoints.
- [Message Senders](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/communication-apis/whatsapp-messaging-integrations/message-senders.md) — Transmits text or media messages to specified contacts or groups through a REST API call. ([source](https://waha.devlike.pro/docs/overview))
- [Multi-Account Management](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/communication-apis/whatsapp-messaging-integrations/multi-account-management.md) — Operates unlimited independent WhatsApp sessions from a single API instance. ([source](https://waha.devlike.pro/docs/overview/faq/))
- [Webhook Receivers](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/communication-apis/whatsapp-messaging-integrations/webhook-receivers.md) — Forwards incoming WhatsApp messages to configured URLs in real time for automated processing. ([source](https://waha.devlike.pro/](https://waha.devlike.pro/))
- [WhatsApp Text Transmissions](https://awesome-repositories.com/f/networking-communication/text-message-transmission/whatsapp-text-transmissions.md) — Sends plain-text messages to WhatsApp contacts via REST API calls. ([source](https://cdn.jsdelivr.net/gh/devlikeapro/waha@core/README.md))
- [Engine Switchers](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/communication-apis/messaging-platform-integrations/whatsapp-integrations/engine-switchers.md) — Switches between WhatsApp communication libraries by changing a single environment variable while preserving the API interface.
- [Webhook Processors](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/communication-apis/messaging-platform-integrations/whatsapp-integrations/webhook-processors.md) — Captures incoming WhatsApp messages in real time through webhooks for automated processing.
- [Messaging Webhook Receivers](https://awesome-repositories.com/f/networking-communication/incoming-webhooks/messaging-webhook-receivers.md) — Captures incoming WhatsApp messages via webhooks or polling so the server can react to them. ([source](https://waha.devlike.pro/docs/overview))

### Security & Cryptography

- [Multi-Account Session Management](https://awesome-repositories.com/f/security-cryptography/multi-account-session-management.md) — Operates unlimited independent WhatsApp sessions from one API instance with separate connection states.
- [WhatsApp Session Lifecycles](https://awesome-repositories.com/f/security-cryptography/multi-account-session-management/whatsapp-session-lifecycles.md) — Creates, starts, stops, and removes WhatsApp sessions to control multiple accounts via REST API. ([source](https://waha.devlike.pro/docs/overview))
- [WhatsApp Session Initiations](https://awesome-repositories.com/f/security-cryptography/session-lifecycle-management/session-generation/whatsapp-session-initiations.md) — Creates a new WhatsApp Web session by scanning a QR code with a mobile phone. ([source](https://cdn.jsdelivr.net/gh/devlikeapro/waha@core/README.md))
- [Agent Action Scopes](https://awesome-repositories.com/f/security-cryptography/accessibility-permissions/agent-action-scopes.md) — Controls which WhatsApp operations an AI agent can perform by assigning read, send, control, setting, app, or delete scopes. ([source](https://waha.devlike.pro/docs/apps/mcp/))
- [API Access Security](https://awesome-repositories.com/f/security-cryptography/api-access-security.md) — Authenticates and authorizes API requests using integrated security features to protect the infrastructure. ([source](https://waha.devlike.pro/docs/overview/faq/))
- [Horizontal Scaling](https://awesome-repositories.com/f/security-cryptography/authentication-services/horizontal-scaling.md) — Distributes WhatsApp sessions across multiple API instances to handle increased account loads. ([source](https://waha.devlike.pro/docs/overview/faq/))
- [Agent Action Scoping](https://awesome-repositories.com/f/security-cryptography/identity-based-access-control/credential-based-access-controls/session-based-access-controls/agent-action-scoping.md) — Restricts AI agent actions by assigning fine-grained scopes to session keys.

### Software Engineering & Architecture

- [Webhook Event Notifications](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/programmatic-interfaces/webhook-event-notifications.md) — Forwards incoming messages and real-time events to configured URLs for automated processing.

### Data & Databases

- [Session Distribution](https://awesome-repositories.com/f/data-databases/horizontal-scaling-architectures/session-distribution.md) — Distributes WhatsApp sessions across multiple API instances for horizontal scaling.

### Development Tools & Productivity

- [Authentication QR Codes](https://awesome-repositories.com/f/development-tools-productivity/qr-code-generators/authentication-qr-codes.md) — Uses QR code scanning to link WhatsApp accounts to the service for authentication. ([source](https://cdn.jsdelivr.net/gh/devlikeapro/waha@core/README.md))

### Web Development

- [Browser Automation](https://awesome-repositories.com/f/web-development/browser-automation.md) — Launches a real WhatsApp Web instance using browser automation to send and receive messages programmatically. ([source](https://waha.devlike.pro/docs/engines/venom/))
- [Browser Automation Engines](https://awesome-repositories.com/f/web-development/browser-automation-engines.md) — Launches a real WhatsApp Web instance using headless browser automation for messaging.
