The WhatsApp Cloud API is Meta's hosted version of the WhatsApp Business Platform API. Your code calls Graph API endpoints at graph.facebook.com, Meta runs the servers, and Meta charges per message rather than a subscription. Self-hosting is no longer an option: the On-Premises API expired on 23 October 2025.
A first template from Meta's test number needs only a developer account and a phone with WhatsApp. Production needs more: a business portfolio, a real number, a system-user token, a public webhook, billing, and a messaging limit that starts at 250 customers per 24 hours. The API gives you endpoints, not a product. The inbox, routing, template operations and Pix reconciliation are yours to build, and that gap is what providers sell.
What the Cloud API is, and what happened to On-Premises
According to Meta's sunset page, new features have shipped only to the Cloud API since January 2024. From 1 July 2024 new numbers could only be registered for the Cloud API (On-Premises registration returns error 1005). On 23 October 2025 the last On-Premises version, v2.63, expired, and numbers still registered there stopped receiving and sending messages.
Every official provider in Brazil now sits on this same Meta-hosted API, exposed almost unchanged or wrapped in its own API or inbox. 360dialog, for example, fronts it with its own Messaging API.
The current Graph API version is v26.0, released on 29 July 2026. Meta's quickstart still shows v23.0, available until 8 October 2027 per the versions table. Pin one and read the changelog before moving.
From developer app to first message
- App and portfolio. Register as a Meta developer, create an app with the use case "Connect with customers through WhatsApp", and pick or create a business portfolio.
- Test number. Meta generates and registers a test business number. Add your own WhatsApp number as recipient, generate a temporary token (user tokens expire within hours) and send the
hello_worldtemplate. - Webhooks. Host an HTTPS endpoint with a valid TLS certificate; self-signed ones are refused. Meta verifies it with a GET carrying
hub.mode,hub.verify_tokenandhub.challenge: check the token, echo the challenge. Subscribe to themessagesfield (incoming messages and delivery statuses), and for a production account subscribe your app withPOST /<WABA_ID>/subscribed_apps. - Permanent token. In Business Settings create a system user, assign it the app and the WhatsApp account, and generate a token with
business_management,whatsapp_business_managementandwhatsapp_business_messaging. Keep it in a secrets manager. - Real number and billing. The number must be yours, have a country and area code, and receive an SMS or voice call; a number active in the WhatsApp app must be deleted there first. Register it through the
registerendpoint with a two-step verification PIN. Billing runs through Meta Business Suite.
Two details catch Brazilian teams. A new portfolio can register only two numbers before verification or the 2,000 tier. Since 1 July 2026, businesses whose Sold-To country in Billing Hub is Brazil can open accounts billed in reais and invoiced by Facebook Brasil; all their accounts must move to BRL by 30 June 2027.
Each webhook POST carries an X-Hub-Signature-256 header, an HMAC-SHA256 of the payload keyed with your app secret: verify it, then answer HTTP 200. Meta retries failed deliveries for up to seven days and cannot resend missed events later, so store payloads and deduplicate by message ID.
Sending a template and a service reply
A customer message or call opens a 24-hour customer service window. Inside it you can send any message type; outside it, only an approved template. Templates are created in WhatsApp Manager or through the API, fall into marketing, utility or authentication, and are reviewed automatically within 24 hours.
An illustrative request (placeholders in angle brackets; pedido_enviado stands for any approved utility template in Portuguese):
curl 'https://graph.facebook.com/v26.0/<PHONE_NUMBER_ID>/messages' \
-H 'Authorization: Bearer <SYSTEM_USER_TOKEN>' \
-H 'Content-Type: application/json' \
-d '{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "<CUSTOMER_NUMBER_WITH_55>",
"type": "template",
"template": {
"name": "pedido_enviado",
"language": { "code": "pt_BR" },
"components": [{
"type": "body",
"parameters": [
{ "type": "text", "text": "Ana" },
{ "type": "text", "text": "4821" }
]
}]
}
}'
A service reply goes to the same endpoint with "type": "text" and "text": { "body": "Seu pedido 4821 saiu para entrega hoje." } in place of the template object, and only while the customer's window is open. Writing templates that pass review is covered in the message templates guide.
Messaging limits and throughput
| Limit | What it caps | Meta's docs, 24 September 2026 |
|---|---|---|
| Messaging limit | Unique users reached outside a service window per moving 24 hours, per portfolio | 250 at start, then 2,000, 10,000, 100,000, unlimited |
| Throughput | Messages per second per number | 80 by default; automatic upgrade to 1,000 |
| Pair rate | Messages to one user | 1 every 6 seconds; a burst of up to 45 borrows from later quota |
| Registered numbers | Per business portfolio | 2 at start, 20 after verification or the 2,000 tier |
| Templates | Per WhatsApp Business Account | 250 unverified, up to 6,000 verified |
Replies inside the service window don't count toward the messaging limit. To reach 2,000, verify the business or deliver 2,000 high-quality templates to unique users within 30 days. Higher tiers come automatically, within six hours, when quality holds and you used half of your limit in the last seven days.
The 1,000-per-second upgrade needs an unlimited tier, 100,000 unique users reached outside a window in 24 hours, and a yellow or green quality rating. Error 130429 flags throughput, 131056 the pair rate. A store planning a Black Friday send to 20,000 customers from a portfolio opened in November hits the 250 cap first, whichever provider it uses.
What it costs when you go direct
Meta charges no subscription for the Cloud API. It bills delivered messages by category and the recipient's country code. For numbers in Brazil (+55) the catalog data show R$0.3217 per marketing template, R$0.0350 per utility template and R$0.0350 per authentication template. Free-form replies inside the service window are free until 30 September 2026, as are utility templates sent inside an open window.
On 1 October 2026 that changes. Meta's pricing docs say service messages will be charged at the market's utility and authentication rate, R$0.0350 for Brazil, after a free allowance of 1,000 per business phone number per month that does not roll over. Utility templates sent inside the window will cost R$0.0350. The 72-hour free entry point window after a Click to WhatsApp ad stays free. Meta Business Agent, Meta's own AI agent, is billed separately, per token, since 1 August 2026.
Going direct saves a provider's fee but costs hosting, webhook on-call time and developer hours. Full monthly totals are in the WhatsApp API pricing guide.
What you build yourself
- An agent inbox. Meta documents endpoints and webhooks, not a screen where agents read and answer chats.
- Routing and handoff. Queues, business hours, assignment, and the switch from bot to person inside the 24-hour window.
- Template operations. Drafting in Portuguese, tracking review results and quality ratings, pausing sends when a rating drops.
- Opt-in records. Meta requires an opt-in that names your business. Keeping proof, and answering LGPD requests about stored data, is on you.
- Pix. Meta's Payments API for Brazil sends an
order_detailsmessage with a dynamic Pix code, boleto or payment link. Your bank or PSP generates the code, the buyer pays in their banking app, and you reconcile byreference_idand send the order status. - Monitoring. Quality rating, tier, error codes, token rotation.
AI replies are covered in the AI agents and MCP guide.
When a provider or platform makes more sense
Going direct fits a team with developers and a narrow job, such as delivery notifications from an existing system. Once you need an inbox, several agents or a bot, the build list above usually costs more than a provider's fee.
API-first providers keep you close to the raw API and add onboarding, support and a sandbox. 360dialog charges per number, from €49/month, and passes Meta's rates through, with one documented surcharge on some marketing sends. Twilio (No monthly fee, pay per message) and Gupshup (No monthly fee, pay per message) add their own per-message fee on top of Meta's. Infobip (from $530/month) and Sinch (Enterprise: price on request) sell mainly through sales.
Full platforms put the inbox and bots on top. Botmaker, Octadesk and VTEX CX Platform (Weni) document a shared inbox with queues and bot-to-person handoff, billed in reais: from R$600/month, from R$2,499/month and from R$1,900/month respectively. How to judge a provider is in what a WhatsApp BSP is and how to choose one; scores are in the WhatsApp platform ranking for Brazil.
Related guides
- WhatsApp Business API in Brazil: the full guide
- What a WhatsApp BSP is and how to choose one
- Official vs unofficial WhatsApp API
- WhatsApp message templates guide
- WhatsApp API pricing in Brazil
About this guide
Written by the editorial team of WABA Index, an independent catalog of WhatsApp Business platforms for companies selling to customers in Brazil. No platform pays for its position or for a mention, and the site carries no affiliate links.
Methodology
On 24 September 2026 we read Meta's developer documentation listed in the sources, from the Cloud API and webhooks to pricing and the Brazilian Payments API. Meta rates, provider prices and scores come from the catalog data and update with it. Nothing was tested hands-on; the code is illustrative. Scoring is explained in the methodology.
Last updated
24 September 2026: checked the On-Premises dates, Graph API v26.0, limits, throughput, Meta's rates for Brazil and the service-message change of 1 October 2026.
FAQ
Is the WhatsApp Cloud API free?
There is no Meta subscription. Meta bills delivered templates and, from 1 October 2026, service messages beyond the monthly free allowance. Providers add their own fees.
Can I still use the On-Premises API?
No. Its last version expired on 23 October 2025, and those numbers no longer send or receive.
Can I keep the number from my WhatsApp Business app?
On the direct route Meta requires deleting it from WhatsApp first. Providers using Embedded Signup can onboard it so it keeps working in the app, at a fixed 20 messages per second.
Do I need business verification to start?
No. The test number and your first real numbers work without it. Verification lifts the messaging limit to 2,000 and the number cap to 20, and with an approved display name the template cap rises from 250 to 6,000.