Skip to main content
WhatsApp API MultiDevice Hero Light WhatsApp API MultiDevice Hero Light GOWA hero (dark) GOWA (go-whatsapp-web-multidevice) is a self-hosted server that links to WhatsApp as a companion device, the same way WhatsApp Web does, and exposes it over HTTP. It is a single Go binary (whatsapp rest) built on whatsmeow. These docs track v9.7.0.
GOWA is an unofficial client. It is not affiliated with WhatsApp or Meta, and using it can get a number restricted or banned. Do not use it for spam or bulk unsolicited messaging.

What one server gives you

Multiple accounts

Run several WhatsApp numbers on one server. Each is a device slot, selected per request with X-Device-Id.

REST API

Send text, media, polls, locations and contacts. Manage chats, groups, newsletters and your profile.

Webhooks

Signed HTTP callbacks for messages, receipts, reactions, group, call and newsletter events.

Scheduled sends

Send any message later, once or on a daily, weekly or monthly repeat.

MCP server

Streamable-HTTP MCP endpoint at /mcp so AI agents can send and read messages.

Chatwoot

Mirror WhatsApp conversations into a Chatwoot inbox and reply from Chatwoot.
A web dashboard (gowa-ui) is served at / for pairing devices and trying the API by hand.

Get started

1

Run GOWA

Start it with Docker or a release binary. See the Quickstart.
2

Create a device and pair it

POST /devices, then scan the QR code or use a pairing code. See Authentication.
3

Send a message

POST /send/message with Basic Auth and X-Device-Id.
4

Receive events

Point WHATSAPP_WEBHOOK at your endpoint. See Webhooks.

Not included

Support