Test the API, run one team
For a single product or shop sending notifications and handling replies in one inbox.
- API calls10,000 / mo
- WebhooksNot included
- Users3
- Broadcast15,000 / mo
- Automation triggers1,000 / mo
- SupportEmail, 24×5
Unofficial API bridges automate the consumer app, and Meta bans the numbers that use them, usually without warning and usually for good. Wati is an official Meta Business Partner and WhatsApp BSP, so the account, the green tick and the templates are registered to your business and stay yours.
data-live pointer at the file's real CDN URL. On load the page tries the CDN version and swaps it in when it loads, so on a normal browser the badges and logos follow whatever marketing publishes, while in a sandboxed preview that blocks cross-origin images the inline copy stays. Total inline weight for all fourteen images is about 83 KB. On the production build drop the inline copies and use plain image tags. Note the live G2 badges are the SUMMER 2025 set, several seasons stale; and Module 2A in the framework asks for the live G2 rating widget, which is a G2-hosted script that has to be added on the real build, not a static image.Four things go wrong between wanting an API key and running a business on one. The first one cannot be undone, which is why it belongs at the top of any vendor shortlist.
The cheap "WhatsApp API" tools automate the consumer app instead of Meta's platform. Meta detects it and bans the number, normally with no warning and no appeal. You lose the number, the chat history and every customer who only had that number.
Even on the official API, if the WhatsApp Business Account sits under the provider's business rather than yours, the number, the templates and the green tick are theirs to hold. Leaving becomes a negotiation instead of a migration.
The platform fee sits behind a demo call and the per-message rate sits behind a rate card you only see after you sign up. You are asked to commit before you can work out what a month actually costs.
Getting a message out is one endpoint. Getting replies back needs webhooks, and the cheaper tiers often do not push them, so you end up polling on a timer and answering three minutes late.
Every claim below can be checked against Meta's own documentation or ours before you hand over an email address.
Wati is a Meta Business Partner and an official WhatsApp BSP. Messages go through Meta's platform under a real WhatsApp Business Account, so there is nothing to detect and nothing to ban, and the verified green tick becomes available once Meta approves your business.
The account is registered to your business, not to Wati. That is what makes the green tick yours and what lets Meta move the number to another provider later. Leaving is a migration, not a rebuild.
Your actual rates sit in the dashboard, broken down by recipient country and message category, visible before you send anything and before you top up. Plans and platform fees are on this page.
Inbound messages, delivery and read receipts, template status changes and CTA clicks are pushed to your endpoint and retried on failure, so replies reach your system in seconds instead of on a polling loop.
Meta approves every business-initiated template and can pause one that gets reported. Wati surfaces approval and quality state in the dashboard and over webhooks, so you hear it from us rather than from a run of failed sends.
Automation handles the volume, a person handles the exceptions, and both work off the same conversation history. You do not end up building an internal support tool you never planned for.
Most of what makes WhatsApp API onboarding painful is Meta's verification flow. Wati does not remove it, but it does tell you exactly what Meta wants and where you are in the queue.
Email and password. The 7-day trial starts with every endpoint enabled, and there is no card until you pick a plan.
Bring an existing number, as long as it is not active on the WhatsApp app at the same time, or use a new one. Meta business verification is required for production messaging limits and the green tick. This is the one step nobody can make instant.
Connector → API → Create API Token. Copy it once, then send. Rotate or revoke it per integration without touching the others.
Both of these run their core process through Wati rather than using it as a side channel.
A hiring platform that routes its entire candidate flow through WhatsApp instead of a web app, with qualification handled before a recruiter sees the lead.
Replaced email follow-up with automated WhatsApp conversations, with human hand-off in the shared inbox when a question needs a person.
A flat platform fee for the API, inbox and automation, plus Meta's per-message rates for what you actually send. Both are priced for your market and shown in your currency. No setup fee, no cancellation fee, no sales call to see a number.
For a single product or shop sending notifications and handling replies in one inbox.
For teams wiring WhatsApp into a CRM, a store, or their own app, who need inbound events pushed to them.
For high-volume senders and multi-number setups that need the full webhook event set and priority support.
Covers the API and token management, webhooks, team inbox, template manager, broadcasts and the no-code chatbot builder. The 7-day trial has every feature on, with no card.
Meta prices each business-initiated message by category, marketing, utility or authentication, and by recipient country. Replies inside a customer-opened 24-hour service window are free under Meta's current pricing.
No setup fee, no number-hosting fee, no cancellation fee. Add-ons such as the Shopify app, extra WhatsApp numbers and Astra AI agents are opt-in and listed on the full pricing page.
Platform prices are Wati's published prices for your market. Per-message figures are indicative, based on Meta's published rate card. Your live rate card is shown in the Wati dashboard before you send. Inbound messages and replies inside an open service window are not charged.
Everything in the dashboard is reachable from the API. The public reference at docs.wati.io needs no login, so you can read it all before creating an account.
/api/v1/sendTemplateMessageBusiness-initiated message using an approved template, with variables./api/v1/sendSessionMessage/{waId}Free-form text, file or interactive reply inside an open 24-hour window./api/v1/sendTemplateMessagesBulk send to a list of recipients in one call, with per-recipient parameters./api/v1/getMessageTemplatesList templates with their Meta approval and quality status./api/v1/addContact/{waId}Create or update contacts with custom attributes for routing and segmentation./api/v1/getMessages/{waId}Full paginated conversation history for a number./api/v1/getMediaDownload images, documents and voice notes customers send you./api/ext/v3/...V3 surface for newer resources: campaigns, segments, chatbots, call logs.# POST sendTemplateMessage curl -X POST "https://live-mt-server.wati.io/{tenantId}/api/v1/sendTemplateMessage?whatsappNumber=85291234567" \ -H "Authorization: Bearer $WATI_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "template_name": "order_shipped", "broadcast_name": "orders_sep_2026", "parameters": [{ "name": "order_id", "value": "WT-48213" }] }'
// Node 18+, native fetch const res = await fetch( `https://live-mt-server.wati.io/${tenantId}/api/v1/sendTemplateMessage?whatsappNumber=85291234567`, { method: "POST", headers: { Authorization: `Bearer ${process.env.WATI_TOKEN}`, "Content-Type": "application/json" }, body: JSON.stringify({ template_name: "order_shipped", broadcast_name: "orders_sep_2026", parameters: [{ name: "order_id", value: "WT-48213" }] }) }); const data = await res.json();
# Python 3, requests import os, requests r = requests.post( f"https://live-mt-server.wati.io/{tenant_id}/api/v1/sendTemplateMessage", params={"whatsappNumber": "85291234567"}, headers={"Authorization": f"Bearer {os.environ['WATI_TOKEN']}"}, json={"template_name": "order_shipped", "broadcast_name": "orders_sep_2026", "parameters": [{"name": "order_id", "value": "WT-48213"}]}) print(r.json())
{
"result": true,
"phone_number": "85291234567",
"validWhatsAppNumber": true
}
{ "eventType": "message", "waId": "85291234567",
"text": "Thanks! Can I change the delivery address?" }
Inbound message, sent, delivered and read receipts, delivered to your endpoint as JSON with the waId, text or media reference and timestamp.
Template approval, category and quality changes, template failures, WABA and phone number events, so a paused template surfaces in your system rather than in a spike of send errors.
CTA button clicks, chatbot triggers and call status, useful for attributing Click-to-WhatsApp ad traffic and for measuring flow completion.
Events are pushed to your HTTPS endpoint and retried on failure. Available on Pro with a limited event set and on Business with the full set. Growth is send-and-poll only.
Wati is a Meta Business Partner and WhatsApp Business Solution Provider. Your WABA, number and templates are registered with Meta under your business, which is what makes them portable and the green tick real.
Meta throttles numbers whose quality rating drops and pauses templates that get reported. Template status and quality are surfaced in the dashboard and over webhooks, and messaging tier upgrades are tracked as your volume grows.
Tokens carry named scopes such as contacts:read and optional expiry dates. Create one per integration and revoke it without touching the others. All traffic is TLS, data handling is ISO 27001 certified and GDPR aligned.
Rate limits and error codes are in the public docs rather than discovered in production. Pro and Business include 24×7 support, and Business adds an SLA and a dedicated account manager.
| Meta Cloud API, direct | Raw API gateway | Wati | |
|---|---|---|---|
| Platform fee | None | Usually none, or a fee per message | From $49 / month |
| Per-message cost | Meta rate | Meta rate plus gateway fee | Rate card shown before you send |
| Verification and number setup | You, alone in Business Manager | Partially guided | Embedded Signup with a checklist |
| Template creation and approval UI | Build it, or use Business Manager | Basic or API only | Included, with status and quality |
| Inbox for the humans who reply | Build it | Build it | Shared team inbox included |
| Webhook infrastructure | You host, verify and retry | You host, retries vary | Pushed with retries (Pro and above) |
| Broadcasts, chatbots, CRM sync | Build it | Build it | Included, no-code, plus API |
| Who absorbs Meta policy changes | You | Partly | Wati, across 16,000 accounts |
| Best when | You have engineers to spare and only need send and receive | You already run a gateway stack for SMS and email | You want the API today and know your team will need an inbox and templates next quarter |
Free for 7 days, no card, every endpoint enabled. Read the docs first if you like, they are public and need no login.
Volume pricing, SLA or a migration from another BSP? Use the form and you will get an engineer, not a script.
Official. Wati is a Meta Business Partner and WhatsApp BSP, and messages go through Meta's Cloud API under a WABA registered to your business. Unofficial bridges that automate the consumer app get numbers banned. This is not that.
Yes, as long as it can receive an SMS or call for verification and is not currently active on the WhatsApp or WhatsApp Business app. If it is, you delete that app account first. Chat history on the phone does not migrate to the API.
You can send to a limited number of recipients before verification. To lift messaging limits and get the green tick you need it. Meta typically completes it in a few days when documents match the business name, and Wati's onboarding tells you which document to upload.
The 7-day trial is the sandbox: the same production API with a real number, so what you test is what ships. Send to your own team's numbers while you build.
Pro includes a limited event set and Business includes the full set. Growth is send and poll only. If you are wiring WhatsApp into another system, start on Pro.
Two layers. Meta's messaging tiers cap how many unique recipients you can message per 24 hours, starting at 1,000 and rising with volume and quality rating. Wati's own API call limits are per plan, listed above and in the docs alongside the error codes.
Your live rate card is in the dashboard before you top up, broken down by country and message category, so you can compare it line by line against Meta's published pricing for your markets.
It is your WABA and your number. Meta supports migrating a number between BSPs and Wati supports the export, so you are not locked in by the platform you started on.