Updated on October 29, 2026
WhatsApp Business API pricing is per delivered message: Meta charges based on the message category and the country of the recipient’s phone number. For recipients in Brazil (+55), the official rate card in Brazilian reais (BRL, R$), in effect since October 1, 2026, is R$ 0.3217 per marketing message and R$ 0.0350 per utility, authentication or service message. Each business phone number gets 1,000 free service messages per month, and messages sent inside a free entry point window are not charged. On top of Meta’s charges, you pay whatever your provider charges for its own service.
This article covers recipients in Brazil only. The price depends on where the recipient’s number is from, not where your company is based, so if you message customers in other countries, see WhatsApp API pricing by country or try our WhatsApp API pricing calculator.
The figures below come from Meta’s WhatsApp Business Platform pricing page (updated September 30, 2026) and the official BRL spreadsheets linked from it. Meta only changes prices on the first day of a quarter (January 1, April 1, July 1 or October 1), so check the current rate card before you lock in a budget.
How Meta charges: per delivered message
Since July 1, 2025, pricing has been per message. It replaced the 24-hour conversation-based model used until then. The basic rules:
- only business-to-user messages are charged; whatever the customer sends you is free;
- you are charged when the message is delivered, not when it is sent;
- each message has exactly one category and generates at most one charge;
- the price depends on the category and the market, which is the country calling code of the recipient’s number.
If your business messages a +55 number, the Brazil rate applies, even if your company is in another country.
Message categories
| Category | Type | When to use it | Can it start a conversation? |
|---|---|---|---|
| Marketing | Template | Promotions, offers, news, invitations, re-engagement | Yes |
| Utility | Template | Notices tied to a transaction or account: order confirmation, delivery status, payment reminder | Yes |
| Authentication | Template | One-time passcodes (OTP) for login or verification | Yes |
| Service | Free-form message | Replies inside the customer service window, sent by people or by a third-party AI | No |
| Meta Business Agent | Free-form message | Replies generated by Meta’s own AI platform (since July 1, 2026) | No |
A template’s category is set when you create it and reviewed by Meta, which can reclassify it. An order notice with a discount coupon in the middle, for example, tends to be treated as marketing.
Companies whose product is an AI assistant (Meta calls them “AI Providers”, such as general-purpose chatbots and LLM platforms) follow a separate pricing policy that took effect on February 16, 2026. For recipients in Brazil, their service messages have been charged since March 11, 2026. A business that simply uses AI to answer its own customers falls under the regular service category.
Want to try it while you read? Create a Vectalk account and send your first message through the official API. Create free account →
Official rates for Brazil (in BRL)
Per-message rates for recipients in Brazil, effective October 1, 2026, from the “List rates in BRL” spreadsheet on Meta’s pricing page:
| Category | Price per delivered message (BRL) |
|---|---|
| Marketing | R$ 0.3217 |
| Utility | R$ 0.0350 |
| Authentication | R$ 0.0350 |
| Authentication-international | Does not apply to Brazil |
| Service (after the monthly free tier) | R$ 0.0350 |
| Meta Business Agent | US$ 2.00 per 1 million tokens |
If your messaging account is billed in US dollars, Meta’s “List rates in USD” spreadsheet gives the Brazil rates as $0.0625 for marketing and $0.0068 for utility, authentication and service. Use the rate card that matches your account’s billing currency.
For Meta Business Agent, Meta says a message typically consumes 20,000 to 25,000 tokens, roughly 4 to 5 US cents per message. Only input and output tokens are charged, and these messages are charged even inside a free entry point window.
Volume tiers for utility and authentication
Utility and authentication get cheaper as monthly volume grows. Volume is added up across all messaging accounts in the same business portfolio, per market-category pair (Brazil-utility, Brazil-authentication), and only charged messages count. Each tier rate applies only to the messages that fall within that tier. Tiers for Brazil, from the “Volume tiers in BRL” spreadsheet (effective October 1, 2026):
| Utility: messages per month | Utility (BRL) | Authentication: messages per month | Authentication (BRL) |
|---|---|---|---|
| 0 to 250,000 | 0.0350 (list rate) | 0 to 500,000 | 0.0350 (list rate) |
| 250,001 to 2,000,000 | 0.0333 (−5%) | 500,001 to 3,000,000 | 0.0333 (−5%) |
| 2,000,001 to 17,000,000 | 0.0315 (−10%) | 3,000,001 to 5,250,000 | 0.0315 (−10%) |
| 17,000,001 to 35,000,000 | 0.0298 (−15%) | 5,250,001 to 10,000,000 | 0.0298 (−15%) |
| 35,000,001 to 70,000,000 | 0.0280 (−20%) | 10,000,001 to 20,000,000 | 0.0280 (−20%) |
| Over 70,000,000 | 0.0263 (−25%) | Over 20,000,000 | 0.0263 (−25%) |
Counts reset every month at midnight in the messaging account’s time zone. Marketing has no volume discount: on the Cloud API it uses fixed published rates. On the Marketing Messages API, businesses can set a maximum price per marketing message, and Meta charges that amount or less. The Cloud API stops sending marketing messages on October 13, 2027, so it is worth planning the move to the Marketing Messages API now.
Windows: when a message is free
Customer service window (24 hours)
Every customer message opens or resets a 24-hour window. Inside it, the business can send free-form messages (text, images, buttons). Outside it, only templates. The window decides what you can send; it does not make the message free.
This changed on October 1, 2026. Before that date, utility templates sent inside the window were free and service messages were not charged. Now:
- utility inside the window is charged normally. In the status webhook, the
pricing.typefield for these messages changed fromfree_customer_servicetoregular(more in what changed for utility messages); - service is charged again from the 1,001st message of the month, per phone number.
Free tier of 1,000 service messages
Each business phone number gets 1,000 free delivered service messages per month. Unused messages do not roll over, and the count resets at midnight on the first day of the month in the messaging account’s time zone. The free tier does not cover utility. Meta’s pricing page warns that accounts without a payment method still get service messages delivered up to the free tier; after that, they stop being delivered.
Eligible government agencies and non-profits are an exception: their service messages remain free beyond the free tier from October 1, 2026 through December 31, 2027.
Free entry point window (Click-to-WhatsApp ads)
When a user messages you from a Click-to-WhatsApp ad, using the Android or iOS app (desktop and web don’t count), and the business replies within the customer service window, a free entry point window opens and can stay open for up to 7 days. Inside it, marketing, utility, authentication and service messages are not charged. Meta Business Agent messages are still charged. The window belongs to the business phone number and the user, so every messaging account sending from that number shares it.
Worked examples
The first four examples use the Brazil list rates above, with no volume tiers, no taxes and no provider fee. The fifth shows how volume tiers work.
| Scenario | Math | Estimated Meta cost |
|---|---|---|
| 10,000 marketing templates delivered | 10,000 × R$ 0.3217 | R$ 3,217.00 |
| 20,000 order confirmations (utility) | 20,000 × R$ 0.0350 | R$ 700.00 |
| 15,000 login codes (authentication) | 15,000 × R$ 0.0350 | R$ 525.00 |
| 6,000 support replies (service) from one number | (6,000 − 1,000) × R$ 0.0350 | R$ 175.00 |
| 400,000 utility messages in one month, one portfolio | 250,000 × R$ 0.0350 + 150,000 × R$ 0.0333 | R$ 13,745.00 |
Two points to keep your budget accurate:
- The service free tier is per phone number. A business with three numbers gets 3,000 free service messages per month, as long as the volume is spread across them.
- Failed messages are not charged. Use the status webhook to see what was delivered and what failed.
To estimate how many messages of a campaign will actually be delivered, see how to estimate a WhatsApp campaign’s cost.
Tracking cost with the status webhook
Status webhooks include a pricing object with the category and the pricing type. It comes with the sent status and with one of delivered or read (never with failed):
{
"id": "wamid.HBgL...",
"status": "sent",
"timestamp": "1760000000",
"recipient_id": "5584999999999",
"pricing": {
"billable": true,
"pricing_model": "PMP",
"type": "regular",
"category": "utility"
}
}
Storing category and type for each message lets you build a daily cost report without waiting for the invoice. type: "regular" means the message is billable; free types include free_customer_service (service within the free tier) and free_entry_point. Meta has announced that the billable field will be deprecated, so use type and category instead. A simple sum in Python:
RATES_BRL = {"marketing": 0.3217, "utility": 0.035, "authentication": 0.035, "service": 0.035}
def estimated_cost(statuses):
delivered, category = set(), {}
for s in statuses:
p = s.get("pricing")
if p and p.get("type") == "regular":
category[s["id"]] = p.get("category")
if s["status"] in ("delivered", "read"):
delivered.add(s["id"])
total = sum(RATES_BRL.get(category[i], 0) for i in delivered if i in category)
return round(total, 2)
The estimate is approximate. Messages Meta does not charge, such as service messages within the free tier, arrive with a free type and are skipped, but the code does not apply volume tiers or Meta Business Agent token charges. Meta’s invoice remains the source of truth. With Vectalk, webhooks arrive with the same payload as Meta’s, and there are message analytics endpoints synced with the messaging account. To build the event receiver, see our WhatsApp API webhooks guide.
Billing in Brazilian reais
Meta now bills eligible customers in Brazil in BRL. According to the pricing page:
- the gradual rollout started on July 1, 2026, and since July 16, 2026, all eligible Solution Providers and directly integrated businesses can create BRL messaging accounts (eligibility depends on having Brazil as the “sold-to” country in Billing Hub);
- BRL accounts are invoiced by Facebook Brasil, Meta’s local entity;
- eligible customers must migrate every messaging account in the portfolio to BRL by June 30, 2027; from July 1, 2027, Meta stops delivering messages from their non-BRL accounts. Meta offers a Currency Migration API for this.
What goes into the total cost
Running the official API has two cost components:
- Meta’s rate, per message, from the tables above. Who pays it depends on the setup: Solution Partners have credit lines they can extend to their clients, so the charges come through the partner; clients onboarded by Tech Providers add their own payment method and Meta charges them directly, according to Meta’s solution providers documentation.
- The provider’s service or your own infrastructure: platform, support, token and webhook management, or your team’s time if you integrate directly.
With Vectalk, billing is a monthly subscription plus a prepaid balance. Vectalk puts its own credit line on your number, and each delivered message is deducted from your balance, so you don’t need to add a card to Meta. If you are weighing the options, see buying the WhatsApp API directly from Meta or through a provider.
Frequently asked questions
Does Meta charge a monthly fee for the API?
Meta’s pricing page describes per-delivered-message charges, with no monthly fee. Providers usually charge separately for their own service.
Am I charged for failed messages?
No. Meta only charges for delivered messages. Messages with a failed status are not counted.
Am I charged for replying to a customer?
It depends. Free-form replies (service) are free up to 1,000 per phone number per month and charged after that, at R$ 0.0350 for recipients in Brazil. If the conversation started from a Click-to-WhatsApp ad, replies inside the free entry point window are not charged.
Why was my utility template charged as marketing?
Meta reviews the category. Promotional content inside a transactional notice turns the template into marketing. Keep notices and promotions in separate templates.
How often do prices change?
Meta only changes prices on the first day of a quarter and gives at least one month’s notice for rate card updates. The next possible change date is January 1, 2027. Check the official pricing page and the WhatsApp Business rates page before each quarterly plan.
Get started with Vectalk
If you want to estimate the cost of a project with real volumes, such as order notifications, OTPs or AI-powered support, run the numbers in our pricing calculator. To get started, create your account at apps.vectalk.com.br/register. If you have questions first, contact the Vectalk team. The technical documentation is at docs.vectalk.com.br, and our official WhatsApp API guide explains what you need to get started.
Sources checked on October 29, 2026: WhatsApp Business Platform pricing (updated September 30, 2026), “List rates in BRL”, “Volume tiers in BRL” and “List rates in USD” spreadsheets (effective October 1, 2026) linked from that page, AI Providers pricing policy, Solution providers overview, Status messages webhook reference, WhatsApp Business platform pricing.
Put your business on the official WhatsApp
Create your account, connect your number to the official API (you can keep the app with coexistence) and start serving customers and sending messages.
