Bird vs Wati

Wati

Bird vs Wati for WhatsApp

Wati is a WhatsApp product for business teams, with an API attached. Bird carries the same team-facing products, an agent inbox, a no-code chatbot builder and campaigns, and puts a WhatsApp API with its own endpoint, SDKs and agent tools underneath them. So the comparison is one of scope: a single WhatsApp tool, or those products plus the integration surface below them.

What Wati is great at.
Where Bird is different.

What Wati is great at

One purchase, aimed at the people who will use it. A shared team inbox, a no-code chatbot builder and broadcast campaigns, sold to marketing, sales and support rather than to engineering. Bird ships all three as well, on the platform that sits around the WhatsApp API, so what you are choosing between is a single WhatsApp tool and a wider account that happens to include one.

Seats, not just traffic. Their plans are priced around users and inclusions, with per-seat rates published for the higher tiers. If the value you are buying is a team working a shared inbox, that shape matches what you are actually paying for better than a per-message rate does.

Scoped API tokens with an expiry. A token is created in the dashboard with selectable scopes and an optional expiry date. Bird's API keys are scoped too, and putting an expiry in the creation flow is the kind of small thing a security review notices.

Where Bird is different

One host, not one per tenant. Wati's base URL carries your account in the path, so the host differs per customer and every example has to be rewritten before it runs. Bird's is a regional host that is the same for everyone in that region, with the workspace carried by the key.

A retry that cannot double-send. An Idempotency-Key header on the send makes a repeat safe, and on WhatsApp a duplicate opens a second billable conversation rather than merely repeating itself.

An agent can run the channel. 43 WhatsApp tools on the hosted server at mcp.bird.com, covering the send, the template lifecycle through submission to Meta, number registration and profile, and statistics, alongside typed SDKs in TypeScript, Python, Go and PHP.

The matrix

Capability by capability.

Wati is bought by the team that will work the inbox; Bird is bought by that team and the engineers behind it. Read the even rows as genuinely even, because both sides ship the inbox, the chatbot builder and the campaigns. What separates them is the integration underneath, where Bird takes the host, the retry, the SDKs and the agent tools. Scope is the argument in Wati's favour: if WhatsApp is all you want, the rest of a platform is weight you are not using.

CapabilityBirdWatiWho wins?
Send requestJSON to /v1/whatsapp/messages on your regional host with a bearer API key. The host is the same for every workspace in a region.JSON to a template-send path on a per-tenant host that carries your account in the URL, with a bearer token created in the dashboard. The version sits in the path.
Safe retriesAn Idempotency-Key header on the send makes a retry safe.No idempotency key or header appears in their API documentation, so a retry after a timeout can send twice.
Content typesOne send body selects text, template, image, video, audio, sticker, document, location, interactive or contact cards.Their API groups messaging, contacts, media and operator assignment, with separate paths for sending a template and sending a session message.
Wati
Typed SDKsTyped SDKs for TypeScript, Python, Go and PHP, generated from the API.REST over JSON with a documented reference. Their documentation index names client libraries in seven languages, but no first-party package is published on npm, PyPI or Packagist; the Wati packages on those registries are community-maintained.
Agent surface43 WhatsApp tools on the hosted server at mcp.bird.com, covering the send, templates, numbers and statistics.Their AI products are Copilot, AI Agents and a bring-your-own-agent option, aimed at answering customers inside their inbox rather than at operating the account from your own agent.
A team inbox out of the boxA unified agent inbox ships with the Bird platform: WhatsApp beside SMS, email and social DMs, with internal notes, tagging, and ticket routing by skill and workload. It is a platform product, so the WhatsApp API itself gives you the send, the inbound events and the message log, which is what you use if you would rather feed the helpdesk you already run.The core of the product: a shared inbox with operator assignment, a no-code chatbot builder, and broadcast campaigns.
Wati
Published pricingRates are published per country on the WhatsApp pricing page.Per-seat and add-on rates are published, and the base monthly rate for the Growth, Pro and Business plans is not stated as a number on the pricing page.
Channels beyond WhatsAppSMS, email, voice, Verify and Realtime under the same base URL and key.WhatsApp is the core, with Instagram, Facebook, website chat, SMS and TikTok DMs named alongside it.
Wati

The same message

Sending one WhatsApp template.

The host is the first thing to notice: Wati's carries your account, so this snippet does not run for anyone else without editing the URL. Bird's is regional and constant, with the workspace carried by the key, and the send takes an Idempotency-Key.

Wati

Wati

whatsapp.ts
const orderId = "ord_8f21";
const account = process.env.WATI_ACCOUNT_ID!;

const response = await fetch(
  `https://live-mt-server.wati.io/${account}/api/ext/v3/messageTemplates/send`,
  {
    method:  "POST",
    headers: {
      Authorization:  `Bearer ${process.env.WATI_API_TOKEN}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      whatsappNumber:   "15551234567",
      template_name:    "order_shipped",
      broadcast_name:   "order_shipped_sep",
      parameters:       [{ name: "1", value: orderId }],
    }),
  },
);

const result = await response.json();
console.log(result.result);

Bird

whatsapp.ts
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });

const orderId = "ord_8f21";

const { data, error } = await bird.whatsapp
  .send(
    {
      from:     "+13124495648",
      to:       "+15551234567",
      template: {
        slug:       "order_shipped",
        language:   "en_US",
        components: [{ type: "body", parameters: [{ type: "text", text: orderId }] }],
      },
    },
    { idempotencyKey: orderId },
  )
  .safe();

if (error) console.error(error.message);
else console.log(data.id, data.status);

Switching cost

Low for the code. Retraining for the people.

The API move is small. Both sides are JSON with a bearer token, so the send is a URL change, a body reshape and a header, and the per-tenant host becomes a regional one. If you only ever used Wati's API, this is an afternoon.

The inbox is the bigger item, and it is retraining rather than rebuilding. A support team that works Wati's shared inbox every day moves to Bird's, which carries WhatsApp beside SMS, email and social DMs with its own notes, tagging and routing, so the conversations still arrive somewhere staffed. Budget the change of habit. If you would rather not move the team at all, route the inbound events into the helpdesk you already run and leave the agents where they are.

Questions people actually ask

Is Bird a good Wati alternative?
Yes, and on more than the API. Wati sells a shared team inbox, a no-code chatbot builder and campaigns; Bird ships all three on its platform, with the inbox carrying WhatsApp beside SMS, email and social DMs, and the chatbot builder deploying one no-code design to WhatsApp, web, SMS and RCS. The difference is packaging: on Wati those are the whole product, on Bird they sit beside a developer API that gives you typed SDKs, a constant regional host, a send that is safe to retry, and 43 WhatsApp tools an agent can drive. If you want one WhatsApp-only tool and nothing else around it, Wati is the simpler purchase.
What do I have to build myself on Bird?
Nothing you would have had to build on Wati either, and the choice is which surface you build on. The WhatsApp API gives you the send, the inbound events and the message log; the platform adds the agent inbox with operator assignment and routing, the chatbot builder and campaigns. So you either route the events into the helpdesk you already run, or work the conversations in Bird's own inbox and leave the routing to it.
Why does the base URL matter?
Because Wati's carries your account in the path, so no example runs unchanged for two different customers, and every environment you promote through needs the host threaded as configuration. Bird's is a regional host that is the same for everyone in that region, with the workspace carried by the API key, so the URL is a constant and the credential is the only thing that varies.
Can an AI agent operate either one?
They mean different things by it. Wati's AI products, Copilot and AI Agents with a bring-your-own-agent option, are aimed at answering customers inside their inbox. Bird's hosted MCP server is aimed at your agent operating your account: 43 WhatsApp tools covering the send, the template lifecycle through submission to Meta, number registration, and statistics. One is an agent talking to your customers; the other is an agent doing your work.

Comece com um canal.
Adicione os outros quando estiver pronto.

Uma chave API de teste é sua imediatamente. A produção é desbloqueada quando você adiciona um método de pagamento e verifica um remetente.

Usa Claude Code, Cursor ou Codex? Copie um prompt de configuração e o seu agente instala o Bird CLI e as skills por si. Escolha o seu:

Cursor