Core
- WhatsApp Business Platform | Developer Documentation
- About the WhatsApp Business Platform | Developer Documentation
- Pricing on the WhatsApp Business Platform | Developer Documentation
- Authentication-international rates | Developer Documentation
- Conversation-based pricing (DEPRECATED) | Developer Documentation
- New pricing policy for AI Providers leveraging the WhatsApp Business Platform | Developer Documentation
- WhatsApp Cloud API Get Started | Developer Documentation
WhatsApp Business Platform | Developer Documentation
WhatsApp Business Platform
Drive revenue growth, boost efficiency, and deliver exceptional customer experiences with the WhatsApp Business Platform—our enterprise-grade APIs for messaging and calling.
Get started
About the WhatsApp Business Platform | Developer Documentation
About the WhatsApp Business Platform
Updated: Dec 5, 2025
The WhatsApp Business Platform enables businesses to communicate with customers at scale.
This documentation is intended for developers using our APIs. If you are looking for information on other ways to use WhatsApp for your business see the WhatsApp Business site.
Core APIs and capabilities
WhatsApp Cloud API
WhatsApp Cloud API enables you to programmatically message and call on WhatsApp. You can use Cloud API to send users a variety of messages, from simple text messages to rich media and interactive messages.
WhatsApp Cloud API includes:
WhatsApp messaging provides a powerful and private way to engage with customers. Use Cloud API to:
Business Management API
The WhatsApp Business Management API enables you to programmatically manage a WhatsApp Business Account and its associated assets.
Manage account assets with Business Management API like:
Business Management API also gives you access to account analytics like:
Template analytics: Sent/read/delivered template metrics, alongside template message button clicks.
Learn more about message templates.Learn more about managing business phone numbers.Learn more about account analytics.
Marketing Messages API for WhatsApp
MM API for WhatsApp is an API for sending optimized marketing messages on WhatsApp.
When you send marketing messages through the MM API for WhatsApp, you can access new features not available on Cloud API and get automatic optimizations, so high engagement messages can reach more customers.
The MM API for WhatsApp includes:
Key resources
Business portfolios
A business portfolio allows organizations to bring all their Meta business assets together so they can be managed in one place. On the WhatsApp Business Platform, a business portfolio mainly serves as a container for WhatsApp Business Accounts (WABA). You must have a business portfolio to use the platform.
Business portfolios can be verified, and verification status factors into improved functionality, such as higher throughput and Official Business Account status.
WhatsApp business accounts (WABA)
A WhatsApp Business Account represents your business, storing metadata and linking to phone numbers, templates, and analytics.
Business phone numbers
Business phone numbers, real or virtual, are used for sending and receiving WhatsApp messages. They can have display names and earn Official Business Account status.
Message templates
Templates are customizable messages that you can construct in advance of sending them. Template messages generally require approval before you can send them.
Templates are useful for messaging at scale. They are also the only type of message that can be sent to WhatsApp users outside of a customer service window.
Templates have quality scores and are subject to various messaging limits.
Test resources
When you get started with Cloud API, a test WABA and test business phone number are automatically created for you. Test WABAs and test phone numbers are useful for testing purposes, as they have relaxed messaging limits and don’t require a payment method on file in order to send template messages.
You can delete your business portfolio and its test resources if:
To delete your business portfolio and its test resources:
We recommend using our API Playground when testing endpoints. You can find the playground in the “API Reference” section on the left sidebar of this page. In each reference, there is a “Try it” button which opens the playground.
Also helpful for testing is our Postman collection.
Tools and integrations
WhatsApp Manager
WhatsApp Manager is a web app for managing WABAs, phone numbers, templates, and reviewing analytics.
Third-party SDKs
Some SDKs, like PyWa (Python wrapper), are available but are not maintained or endorsed by Meta.
Security and performance
Throughput
Business phone numbers can send up to 80 messages per second by default, with capacity upgrades available.
Encryption
With the Cloud API, every WhatsApp message continues to be protected by Signal protocol encryption that secures messages before they leave the device. This means messages with a WABA are securely delivered to the destination chosen by each business.
The Cloud API uses industry standard encryption techniques to protect data in transit and at rest. The API uses Graph API for sending messages and Webhooks for receiving events, and both operate over industry standard HTTPS, protected by TLS. See our Encryption Overview whitepaper for additional details.
See the WhatsApp Encryption Overview whitepaper for additional details.
Scaling
The Cloud API automatically scales usage within your rate limits.
Rate limits
Requests made by your app on your WhatsApp Business Account (WABA) are counted against your app’s request count. An app’s request count is the number of requests it can make during a rolling one hour.
For the following endpoints, your app can make 200 requests per hour, per app, per WABA, by default. For active WABAs with at least one registered phone number, your app can make 5000 requests per hour, per app, per active WABA.
| Type of request | Endpoint |
|---|---|
GET |
/<WHATSAPP_BUSINESS_ACCOUNT_ID> |
GET, POST, and DELETE |
/<WHATSAPP_BUSINESS_ACCOUNT_ID>/assigned_users |
GET |
/<WHATSAPP_BUSINESS_ACCOUNT_ID>/phone_numbers |
GET, POST, and DELETE |
/<WHATSAPP_BUSINESS_ACCOUNT_ID>/message_templates |
GET, POST, and DELETE |
/<WHATSAPP_BUSINESS_ACCOUNT_ID>/subscribed_apps |
GET |
/<WHATSAPP_BUSINESS_ACCOUNT_TO_NUMBER_CURRENT_STATUS_ID> |
For the following Credit Line API requests, your app can make 5000 requests per hour.
| Type of request | Endpoint |
|---|---|
GET |
/<BUSINESS_ID>/extendedcredits |
POST |
/<EXTENDED_CREDIT_ID>/whatsapp_credit_sharing_and_attach |
GET and DELETE |
/<ALLOCATION_CONFIG_ID> |
GET |
/<EXTENDED_CREDIT_ID>/owning_credit_allocation_configs |
For more information on how to get your current rate usage, see Headers.
In addition, the platform applies several message rate limits:
Pair rate limits
Business phone numbers can send 1 message every 6 seconds to the same WhatsApp user (0.17 messages/second), which equals about 10 messages per minute or 600 per hour. Exceeding this limit triggers error code 131056 until you are back within the allowed rate.
You may send up to 45 messages in a 6-second burst, but this “borrows” from your future quota. After a burst, you must wait the equivalent time it would take to send those messages at the normal rate (e.g., a burst of 20 requires a ~2-minute wait before sending more to that user).
To manage post-burst throttling, if a send request fails, retry after 4^X seconds (starting with X=0 and increasing X by 1 after each failure) until successful.
Terms and policies
User opt-in
You must obtain user opt-in before sending message templates. Opt-in must clarify your business name and intent.
Terms and policies
All platform use must comply with WhatsApp’s terms and policies. Using unauthorized third-party tools is prohibited.
Next steps
Learn more
Pricing on the WhatsApp Business Platform | Developer Documentation
Pricing on the WhatsApp Business Platform
Updated: Mar 30, 2026
This document explains how pricing works on the WhatsApp Business Platform.
Cloud API and Marketing Messages API for WhatsApp
To align with industry-standards, effective July 1, 2025, Meta now charges on a per-message basis:
You are only charged when a template message is delivered ().Rates vary based on the template’s category and the recipient WhatsApp phone number’s country calling code.
Meta provides value to businesses in several ways:
All non-template messages are free (, , and so on). These can only be sent within an open customer service window. See Sending messages for a list of message types.Utility templates delivered within an open customer service window are free.You can unlock lower rates for utility and authentication template messages, based on messaging volume.All messages are free for 72 hours, including template messages, if sent within an open free entry point window.
Pricing explainer
Our pricing explainer PDF outlines how Meta charges and the various ways Meta provides value to businesses, in PDF form:
Pricing Explainer PDF
Message template categories
Unlike non-template messages, template messages are the only message type that can be sent outside of a customer service window. Templates can be categorized as:
MarketingUtilityAuthentication
See Template categorization to learn how template categorization works.
Template messages vs. non-template messages
Businesses are responsible for reviewing the category assigned to their approved templates. Whenever a template is used, a business accepts the charges associated with the category applied to the template at time of use.
Charge example
In the example below, a business sends 4 messages to a WhatsApp user but is only charged for 2 (1 marketing charge, 1 utility charge).
| Hour | Action | Rate | Reason |
|---|---|---|---|
|
0 |
You send a marketing template message to a WhatsApp user, promoting your new product. |
Marketing |
All marketing template messages are charged. |
|
2 |
The user messages you about the product.
This opens a 24 hour customer service window (“CSW”). |
- |
Messages sent from a WhatsApp user to a business are not charged. |
|
3 |
You send a text message to the user (), describing the product in more detail. |
None |
All non-template messages are free within an open customer service window. |
|
4 |
The user purchases the product and you send them a utility template confirming their order. |
None |
The CSW is still open, and utility templates sent within an open CSW are free. |
|
26 |
The CSW closes, which means you can no longer send non-template messages. |
- |
24 hours have passed since the user last messaged you. |
|
30 |
You send a utility template message to the user, updating them on their order. |
Utility |
Utility template messages sent outside of a CSW are charged, and no open CSW exists between you and the user. |
Pricing calendar
To better enable our customers to plan and prepare for pricing updates, the following pricing calendar applies for messaging and voice on the WhatsApp Business Platform:
Meta may update pricing only on the 1st day of each quarter, thus up to 4 times per year: January 1, April 1, July 1, and/or October 1.Meta will provide advanced notice that is better aligned to the effort required to implement different types of pricing updates, per below:
| Type of pricing update | Examples | Minimum advance notice |
|---|---|---|
|
Rate card update |
Updating the rate for a given market–product
Updating the volume tiers for a given market–product (utility and authentication only)
Moving a market from one pricing region (e.g. “Other”) to another or to be standalone on the rate card |
1 month |
|
Pricing model add-on |
Our July 1, 2025, introduction of new volume tiers for utility and authentication messages |
3 months |
|
Pricing model change |
Our July 1, 2025 update to our pricing model, from conversation-based pricing to per-message pricing |
6 months |
Rates
Rate cards and volume tiers
These rate cards reflect our current rates and volume tiers, effective April 1, 2026, based on WhatsApp Business Account timezone. This information is also available interactively on our WhatsApp Business website.
| Currency | Rates(CSV) | Volume tiers(CSV) | Rates and Volume tiers(PDF) |
|---|---|---|---|
|
USD |
|||
|
AED |
|||
|
ARS |
|||
|
AUD |
|||
|
CLP |
|||
|
COP |
|||
|
EUR |
|||
|
GBP |
|||
|
IDR |
|||
|
INR |
|||
|
MXN |
|||
|
MYR |
|||
|
PEN |
|||
|
SAR |
|||
|
SGD |
Updates to rate cards
Below represents future updates to our rates. See our rate cards above for current rates.
Rate cards effective July 1, 2026
Effective July 1, 2026, as of 9am PT – Eligible customers can create new WhatsApp Business Accounts in BRL (Brazilian Reals). This is only available for Solution Partners and directly-integrated clients whose Sold-To country is Brazil in Billing Hub. Per our pricing calendar, Meta will publish per-message rates in BRL by June 1, 2026.
Billing localization for India and Brazil
Meta is introducing billing localization to help eligible customers to better manage costs of messaging amidst currency fluctuations. This will apply to the markets below, and specifically to Solution Partners and directly-integrated clients whose Sold-To country in Billing Hub is a market below:
India – As of January 1, 2026.Brazil – As of July 1, 2026.
Previous updates
Effective April 1, 2026 at 12am by WhatsApp Business Account timezone, the rate updates below applied: Saudi Arabia – Higher marketing message rate.India – Higher authentication-international rate.Pakistan – Higher utility and authentication rates. No change to the authentication-international rate.Turkey – Lower utility and authentication rates.8 new billing currencies introduced: ARS (Argentina), CLP (Chile), COP (Colombia), MYR (Malaysia), PEN (Peru), SAR (Saudi Arabia), SGD (Singapore), AED (United Arab Emirates).Effective January 1, 2026 at 12am by WhatsApp Business Account timezone, the rate updates below applied: India - Higher marketing rate.France, Egypt - Lower marketing rates.North America - Lower utility and authentication rates.Effective October 1, 2025 at 12am by WhatsApp Business Account timezone, the rate updates below applied: Colombia – Higher utility and authentication rates.Mexico – Lower marketing rates.United Arab Emirates – Higher marketing message rate.Argentina, Egypt, Saudi Arabia – Lower utility and authentication rates.Zimbabwe is mapped to our “Rest of Africa” region vs. “Other”. Messages delivered to WhatsApp users with a +263 country calling code (Zimbabwe) will be charged “Rest of Africa” rates.Effective July 1, 2025 – Lower utility and authentication message rates across several markets, to ensure pricing is on-par to alternate channels for these use cases. Marketing conversation rates became marketing message rates.Effective April 1, 2025 – Lowered authentication-international conversation rates for Egypt, Nigeria, Pakistan, and South Africa.Effective February 1, 2025 – Lowered authentication conversation rates for Egypt, Malaysia, Nigeria, Pakistan, Saudi Arabia, South Africa, and the United Arab Emirates.Effective November 1, 2024 – Service conversations are now free for all businesses.Effective October 1, 2024 – Updated marketing conversation rates in India, Saudi Arabia, the United Arab Emirates, and the United Kingdom.Effective August 1, 2024 – Lowered utility conversation rates.
Authentication-international rates
Specific countries have an authentication-international rate. Our rate cards reflect these rates. See Authentication-International rates to learn about these rates and if they apply to you.
Country calling codes
Charges for conversations are based on the country calling code of the recipient WhatsApp phone number. The table below shows how Meta maps country calling codes to countries or regions. If a country is not listed below, it maps to Other.
This information is also available in a CSV file:
Country Calling Codes and Regional Rate Mapping CSV
| Markets | Calling Code (and network prefix if applicable) |
|---|---|
|
Countries
Argentina Brazil Chile Colombia Egypt France Germany India Indonesia Israel Italy Malaysia Mexico Netherlands Nigeria Pakistan Peru Russia Saudi Arabia South Africa Spain Turkey United Arab Emirates United Kingdom |
54 55 56 57 20 33 49 91 62 972 39 60 52 31 234 92 51 7 966 27 34 90 971 44 |
|
North America
Canada United States |
1 1 |
|
Rest of Africa
Algeria Angola Benin Botswana Burkina Faso Burundi Cameroon Chad Republic of the Congo (Brazzaville) Eritrea Ethiopia Gabon Gambia Ghana Guinea-Bissau Ivory Coast Kenya Lesotho Liberia Libya Madagascar Malawi Mali Mauritania Morocco Mozambique Namibia Niger Rwanda Senegal Sierra Leone Somalia South Sudan Sudan Swaziland Tanzania Togo Tunisia Uganda Zambia Zimbabwe |
213 244 229 267 226 257 237 235 242 291 251 241 220 233 245 225 254 266 231 218 261 265 223 222 212 258 264 227 250 221 232 252 211 249 268 255 228 216 256 260 263 |
|
Rest of Asia Pacific
Afghanistan Australia Bangladesh Cambodia China Hong Kong Japan Laos Mongolia Nepal New Zealand Papua New Guinea Philippines Singapore Sri Lanka Taiwan Tajikistan Thailand Turkmenistan Uzbekistan Vietnam |
93 61 880 855 86 852 81 856 976 977 64 675 63 65 94 886 992 66 993 998 84 |
|
Rest of Central and Eastern Europe
Albania Armenia Azerbaijan Belarus Bulgaria Croatia Czech Republic Georgia Greece Hungary Latvia Lithuania Moldova North Macedonia Poland Romania Serbia Slovakia Slovenia Ukraine |
355 374 994 375 359 385 420 995 30 36 371 370 373 389 48 40 381 421 386 380 |
|
Rest of Western Europe
Austria Belgium Denmark Finland Ireland Norway Portugal Sweden Switzerland |
43 32 45 358 353 47 351 46 41 |
|
Rest of Latin America
Bolivia Costa Rica Dominican Republic Ecuador El Salvador Guatemala Haiti Honduras Jamaica Nicaragua Panama Paraguay Puerto Rico Uruguay Venezuela |
591 506 1 (809, 829, 849) 593 503 502 509 504 1 (658, 876) 505 507 595 1 (787, 939) 598 58 |
|
Rest of Middle East
Bahrain Iraq Jordan Kuwait Lebanon Oman Qatar Yemen |
973 964 962 965 961 968 974 967 |
|
Other
All other countries |
Varies by country |
Volume tiers
You can unlock lower utility and authentication rates based on the number of messages you send in a month.
Tiering accrual
Key dynamics
Volume tiers examples
The table below is illustrative and only highlights the dynamics of volume tiers. Please refer to our rate cards to see the rates charged.
Below are several examples to highlight how the tiers work and what is charged in a given month, for a given market–category. These examples refer to the illustrative table above:
Example 1: A business that sends a total of B authentication messages in a month to India is charged:
List rate for the first A messages.Tier rate 1 for messages A+1 to B.Total charges for that month = Rate per tier 𝗑 messages in each tier.
Example 2: A business that starts to be charged our authentication-international rates on the 15th day of the month:
Day 1 to 14 of that month: Volume tiers apply on the authentication rate.Day 15 onward of that month: Volume tiers apply on the authentication-international rate, with messages continuing to accrue in that month. For example, if a business has already reached the Tier 2, the business would be charged Tier 2’s authentication-international rate:
Example 3: A business has 3 WABAs sending authentication messages to India. For WABA A, it is still July 31 based on their timezone. For WABAs B and C, it is already August 1 based on their timezone. For July, the business is already being charged Tier Rate 1.
The business portfolio will be accruing toward tiers for both July (via WABA A) and August (via WABAs B, C) for a period of time.The business can reach the next tier for July, via WABA A. If that happens, messages for the remainder of July for WABA A will be charged Tier Rate 2.
Example 4: A business has 3 WABAs, integrated across 2 solution providers. Provider 1 sends the first B messages in a given month, and provider 2 starts sending messages as of when the business is in the 3rd tier. The business does not send enough messages that month to reach the next tier. What we would charge each provider:
Provider 1: List rate for A messages, then Tier Rate 1 from A+1 to B, and Tier Rate 2 for B+1 to C.Provider 2: Tier Rate 2 across all of their messages.
Tiering webhooks
Starting October 1, 2025, an account_update webhook with
event set to VOLUME_BASED_PRICING_TIER_UPDATE will be triggered when your WhatsApp Business Account reaches a new volume tier, in any market, in a given month. This complements our pricing_analytics endpoint, which will continue to provide intra-month tiering progress and tiering information for delivered messages.Example webhook:
tier_update_time tells when your WABA reached a higher volume tier (Unix timestamp).pricing_category tells you the template category for which your new volume tier rate applies.tier tells you the new volume tier’s lower and upper bounds.effective_month tells you the month in which your new volume tier rate is in effect.region tells you the WhatsApp user country/region for which your new volume tier rate applies.
Note that it’s possible for multiple account_update webhooks to be triggered that describe the same tier switch event. In these cases, use the webhook with the smaller
tier_update_time Unix timestamp as the official webhook.Tiering analytics
You can get volume tier information via template analytics.
Free non-template messages
Non-template messages, which can only be sent within an open customer service window, are free. These messages will have
type set to free_customer_service in the pricing object of status messages webhooks:Free utility template messages
Utility template messages sent within an open customer service window are free. These messages will have
type set to free_customer_service and category set to utility in the pricing object of status messages webhooks:Edge case
If you send a message to a WhatsApp user prior to July 1, 2025 (which is when Meta switched from conversation-based pricing to per-message pricing), a utility conversation is opened between you and a user that spans the switch to per-message pricing (the conversation was opened before the switch but won’t close until after the switch). In this case, utility templates sent to the user after the switch while the conversation is open will be free, but attributed to the open conversation. In status messages webhooks, these messages will have a
pricing_model of CBP and the utility conversation ID will be assigned to conversation.id. Once the conversation closes, subsequent utility messages will use per-message pricing, which will be reflected in new webhooks.Free Entry Point windows
If a WhatsApp user messages you via a Click to WhatsApp Ad or Facebook Page Call-to-Action button using a device running our Android or iOS app (our desktop and web apps are not supported):
A 24-hour customer service window is opened (as normal).If you respond within 24 hours using any type of message, the message will be free, and a Free Entry Point (“FEP”) window will be opened, starting from the time when you responded.
FEP windows remain open for 72 hours. While open, you can send any type of message to the user at no charge. Note, however, that the customer service window is independent of the FEP window, so if the customer service window closes, you will only be able to send template messages.
New max-price feature for Marketing Messages API for WhatsApp
Starting in 2026, businesses integrated into Marketing Messages API for WhatsApp can choose to set a max-price per marketing message delivery; when a max-price is set, Meta will charge that max-price or lower for delivery.
New pricing policy for AI Providers leveraging WhatsApp Business Platform
Click here to learn more about our new pricing policy for “AI Providers” leveraging WhatsApp Business Platform, which is effective February 16, 2026 and updated as of March 4, 2026.
Analytics
Use the pricing_analytics field to get per-message pricing breakdowns and tiering information for delivered messages.
Webhooks
The
<PRICING_CATEGORY> tells you what rate was applied (e.g. marketing). See the status messages webhook reference for a list of possible values.Note that currently, tiering information is not included in any webhooks. Use the pricing_analytics field to get tiering information for delivered messages.
Billing
Billing and billing-related actions are handled through the Meta Business Suite. See About Billing For Your WhatsApp Business Account for more information.
WhatsApp Business Calling API pricing
The WhatsApp Business Calling API has different pricing. See our Calling API pricing document to learn more.
Conversation-based pricing
Conversation-based pricing is deprecated. It was replaced with per-message pricing on July 1, 2025.
Authentication-international rates | Developer Documentation
Authentication-international rates
Updated: Dec 12, 2025
Specific countries have an authentication-international rate in our rate cards. If you send an authentication template message to a WhatsApp user whose country calling code is for a country that has an authentication-international rate, the delivered message will be billed the country's authentication-international rate if:
your business is eligible for authentication-international ratesyour business is based in another country (see Primary Business Location)the message was delivered on or after your start time for that country
For example, if your business is based in Indonesia and you send an authentication template message to a WhatsApp user who has a +62 (Indonesia) country calling code, and the message is delivered, you will not be billed the authentication-international rate since you are based in the same country as the user. If your business is based in India, however, you will be billed the authentication-international rate, if you meet all of the criteria above.
See Examples for additional example scenarios.
Status messages webhooks that include pricing details and pricing analytics will indicate if a message or set of messages were billed the authentication-international rate.
Eligibility
If your business sends more than 750K messages outside of customer service windows in a moving 30-day period, across all of your WhatsApp Business Accounts, with unique WhatsApp users whose country calling codes are for a country that has an authentication-international rate, it will be deemed eligible for authentication-international rates.
Once deemed eligible, we will set your start times 30 days out for each country that has an authentication-international rate. In addition, we will attempt to determine your primary business location using publicly-available information.
We will then send you an eligibility email that includes these start times and the country that we set as your primary business location (if we were able to determine the country). This provides you with 30 days notice before authentication-international rates apply. Webhooks will also be triggered that include your start times and your primary business location (if we set it).
Note that eligibility is permanent. Once your business is deemed eligible, all authentication template messages sent on or after your start time will be charged the authentication-international rate in markets where authorization-international rates apply.
Countries with authentication-international rates
The following countries have authentication-international rates:
EgyptIndiaIndonesiaMalaysiaNigeriaPakistanSaudi ArabiaSouth AfricaUnited Arab Emirates
Please see Rate cards for more details about the rates.
Start times
Start times are business- and country-specific timestamps. They indicate when newly-delivered authentication template messages are subject to authentication-international rates. Authentication template messages sent by your business and delivered to WhatsApp users in these countries on or after these dates only will be charged authentication-international rates.
Start times are set when your business is first deemed eligible for authentication-international rates, and are 30 days from your eligibility date, so you will always have 30-days notice before the authentication-international rate applies.
Start times are included in your eligibility email and webhooks. You can also get these times by requesting the
auth_international_rate_eligibility field on any of your business's WhatsApp Business Accounts:Request parameters
| Placeholder | Description | Example value |
|---|---|---|
<ACCESS_TOKEN>String |
Required.
|
EAAAN6tcBzAUBOZC82CW...DOMccqHEZD |
<API_VERSION>String |
Optional.
Graph API version. |
v25.0 |
<WABA_ID>String |
Required.
WhatsApp Business Account ID. |
102290129340398 |
Response parameters
| Placeholder | Description | Example value |
|---|---|---|
<WABA_ID> |
WhatsApp Business Account (WABA) ID. |
102290129340398 |
<START_TIME> |
Unix timestamp indicating start time for all countries with authentication-international pricing for which you do not have an exception. |
1732057507 |
<EXCEPTION_COUNTRY> |
A unique object describing a country that has an exception start time. See exception country.
For most WhatsApp Business Accounts, the exception_countries array will be empty. |
Primary business location
Your primary business location is the country where your business is based. It will appear in the Business Manager under the Primary Business Location field starting May 1, 2024, if we are able to determine where your business is based using publicly-available information.
The following publicly-available information is used to determine where your business is based:
Where your business may be publicly-traded and listedYour business's corporate structure (where a parent or may be based or publicly-traded)
We will attempt to determine where your business is based when:
It is deemed eligible for authentication-international ratesYou edit your primary business location using the Business Manager.
This process can take up to 3 business days. The outcome of this determination can be:
Verified - We determined where your business is based and set your primary business location to this country (which also triggers a webhook).Need more information - We require more information in order to make a determination.Rejected - We disagreed with the country you designated in the Business Manager (if you used it to edit the Primary Business Location field)
You will be notified of the outcome in your initial eligibility email, or in a separate email if you used the Business Manager to edit your location.
If rejected or if we need more information, or if you disagree with the country we determined to be the primary business location, you can use the Business Manager to edit your location.
Note that if your primary business location status is not verified but you are past your start time for a given country, any authentication messages that you send to a WhatsApp user in that country will be billed the authentication-international rate.
Set or edit your primary business location
To set or edit your primary business location:
Navigate to Business Settings by clicking here?Select the country of the business's primary location of operation from the dropdown, or enter it in the text field. Note that this is the location where your business has its headquarters and maintains its bookkeeping records.Click NextAnswer the questions on the screen. These answers will help Meta verify your primary business location.Click NextClick Submit for review
Note: You won't be able to make any changes while your verification is under review.
Primary business location status
The Primary Business Location field in the Business Manager will also display a status:
Verified - We have verified your business's primary location.Pending verification - We are in the process of determining your business's primary location.Rejected - We disagreed with the country you designated, based on publicly available information and what you included when you edited your location. You can manually edit your location again and include different information as part of your submission.
Get your location via API
You can use the API to see if your business's primary business location is set by requesting the
primary_business_location field on your WhatsApp Business Account (WABA):Response:
Upon success:
<WABA_ID> - WhatsApp Business Account ID.<COUNTRY_CODE> - Two-character country code indicating the country where we have determined the business to be based.
Eligibility email
By sending authentication messages over WhatsApp, you acknowledge and agree that when your business is deemed eligible for authentication-international rates, an email will be sent to all of the email addresses associated with the admins of your accounts, and all third parties that your WhatsApp Business Accounts have been shared with (e.g. admins of Solution Partners that have access to your WhatsApp Business Accounts), to alert them that the threshold of eligibility has been reached.
The email will include:
Your exact start times for each country that has an authentication-international rate.The country that we set as your primary business location.
Exception countries
Authentication-international rates for applicable countries will begin on the same date, unless otherwise specified in your eligibility email, the
exception_countries array in eligibility webhooks, or the exception_countries array returned when requesting the auth_international_rate_eligibility field on your WhatsApp Business Account (WABA).You will always be charged the domestic rate for your primary business location, even if it appears in the either
exception_countries array.Example Scenario
In the following examples, assume this scenario:
there are three countries, identified by three fictitious country codes: A, B, and Ccountries A and B have authentication-international ratescountry C does not have an authentication-international ratethe business portfolio has a WABA with ID 12345
Requesting the
auth_international_rate_eligibility field on WABA 12345 returns:Country C is not represented in the response because it does not have an authentication-international rate.
Scenario 1
The business's primary business location is country C.
The authentication-international rate applies for country A on June 1, 2024.The authentication-international rate applies for country B on July 1, 2024.
Scenario 2
The business's primary business location is country B.
The authentication-international rate applies for country A on June 1, 2024.
The authentication-international rate for country B does not apply because the business's primary business location is also country B.
Webhooks
Eligibility webhook
An
account_update webhook will be triggered if your business is deemed eligible for international rates. The webhook will include start times for each country that has an authentication-international rate.Please see Rate cards for the list of countries with authentication-international rates.
<WABA_ID> - WhatsApp Business Account ID.<WEBHOOK_SENT_TIMESTAMP> - Unix timestamp indicating when the webhook was sent.<EXCEPTION_COUNTRY_CODE> - Two-letter country code (e.g. ID for Indonesia) of the country with a start time exception.<EXCEPTION_START_TIME> - Unix timestamp indicating authentication-international rate start time for the exception country.<START_TIME_INDIA> - Unix timestamp indicating start time for all countries with authentication-international pricing for which you do not have an exception.
Primary business location update webhook
Subscribe to the
account_update webhook to be notified when the business's primary business location is set. If we are able to determine the country where your business is based, we will set your location to that country and trigger an account_update webhook with the country's two-character country code assigned to the BUSINESS_PRIMARY_LOCATION_COUNTRY_UPDATE property.<WABA_ID> - WhatsApp Business Account ID.<TIMESTAMP> - Unix timestamp indicating when the webhook was sent.<COUNTRY_CODE> - ISO 3166-1 alpha-2 country code, indicating the country where we have determined the business to be based.
Pricing in messages webhook
If an authentication template message is billed the authentication-international rate, the
pricing object in status messages webhooks will have category set to authentication_international.Examples
A business with an Indonesia primary business location send an authentication template message to a WhatsApp user:
| User location | Is business eligible? | Is on/after start time? | Rate billed |
|---|---|---|---|
|
Indonesia |
- |
- |
Authentication |
|
India |
No |
- |
Authentication |
|
India |
Yes |
No |
Authentication |
|
India |
Yes |
Yes |
Authentication-International |
A business with an India primary business location sends an authentication template message to a WhatsApp user:
| User location | Is business eligible? | Is on/after start time? | Rate billed |
|---|---|---|---|
|
India |
- |
- |
Authentication |
|
Indonesia |
No |
- |
Authentication |
|
Indonesia |
Yes |
No |
Authentication |
|
Indonesia |
Yes |
Yes |
Authentication-International |
A business with a primary business location that does not have an authentication-international rate sends an authentication template message to a WhatsApp user:
| User location | Is business eligible? | Is on/after start time? | Rate billed |
|---|---|---|---|
|
Indonesia |
No |
- |
Authentication |
|
Indonesia |
Yes |
No |
Authentication |
|
Indonesia |
Yes |
Yes |
Authentication-International |
|
India |
No |
- |
Authentication |
|
India |
Yes |
No |
Authentication |
|
India |
Yes |
Yes |
Authentication-International |
Conversation-based pricing (DEPRECATED) | Developer Documentation
Conversation-based pricing (DEPRECATED)
Updated: Nov 14, 2025
Conversation-based pricing is deprecated. It was replaced on July 1, 2025, with per-message pricing. The document below is for reference purposes only.
This document explains how conversation-based pricing works on the WhatsApp Business Platform.
Charges are applied per conversation, not per individual message sent or received.
Conversations are 24-hour message threads between you and your customers. They are opened and charged when messages you send to customers are delivered. The criteria that determines when a conversation is opened and how it is categorized is explained below.
Businesses are responsible for reviewing the category assigned to their approved templates. Whenever a template is used, a business accepts the charges associated with the category applied to the template at time of use.
Conversation categories
Conversations are categorized with one of the following categories:
Marketing, utility, and authentication conversations can only be opened with template messages. Service conversations can be opened with any type of message other than a template message.
See Message Types to learn more about the various types of messages you can send to customers.
Opening conversations
Conversations are opened when you send a message to a customer under the following conditions.
Marketing, Utility, and Authentication Conversations
When you send an approved marketing, utility, or authentication template to a customer, we check if an open conversation matching the template’s category already exists between you and the customer. If one exists, no new conversation is opened. If one does not exist, a new conversation of that category is opened, lasting 24 hours.
For example:
To learn more about template categories and how to choose an appropriate category when creating templates, see Template Categorization.
For additional examples, see our pricing explainer PDF.
Service conversations
Service conversations are now free. This change does not affect how service conversations are opened.
A service conversation is opened when any message other than a template message is delivered to your customer and no open conversation of any category exists between you and the customer.
Note that a customer service window must exist between you and the customer before you can send them a non-template message.
For example:
For additional examples, see our pricing explainer PDF.
Customer Service Windows
Conversation duration
Marketing, utility, authentication, and service conversations last 24 hours unless closed by a newly opened free-entry point conversation.
Free-entry point conversations last 72 hours.
Multiple conversations
It is possible to have multiple open conversations between you and a customer. This can happen in the following situations:
Free Tier conversations
As of November 1, 2024, you can open an unlimited number of service conversations at no charge. See Free Service Conversations to learn more.
Free Entry Point conversations
A free entry point conversation is opened if (1) a customer using a device running Android or iOS (the desktop and web clients are not supported) messages you via a Click to WhatsApp Ad or Facebook Page Call-to-Action button and (2) you respond within 24 hours. If you do not respond within 24 hours, a free entry point conversation is not opened and you must use a template to message the customer, which opens a marketing, utility, or authentication conversation, per the category of the template.
The free entry point conversation is opened as soon as your message is delivered and lasts 72 hours. When a free entry point conversation is opened, it automatically closes all other open conversations between you and the customer, and no new conversations will be opened until the free entry point conversation expires.
Once the free entry point conversation is opened, you can send any type of message to the customer without incurring additional charges. However, you can only send non-templates messages if there is an open customer service window between you and the customer.
For example, if the customer messages you via a Click to WhatsApp Ad at 10am and you respond via a template message at 10pm the same day:
Rates
Rates vary based on conversation category and country/region rate. You can download the rate card below that corresponds to your WhatsApp Business Account’s currency to see our rates by country/region for each conversation category.
These rates apply for any conversation opened on or after June 1, 2023 at 12:00 AM, based on WhatsApp Business Account time zone.
Rate Cards
These rate cards represent the current rates on our platform.
Authentication-International rates
Starting June 1, 2024, we are introducing authentication-international rates. See Authentication-International Rates to learn about these rates and if they apply to you.
Effective April 1, 2025, we are lowering our authentication-international rates in Egypt, Nigeria, Pakistan and South Africa, as part of continued efforts to ensure our prices are on-par with alternate channels.
Marketing Messages API for WhatsApp pricing
Per-message pricing is coming to Marketing Messages API for WhatsApp. Starting July 1, 2025, Cloud API marketing rates will apply to messages sent via Marketing Messages API for WhatsApp.
Marketing Messages API for WhatsApp has different pricing. View the Marketing Messages API for WhatsApp pricing document for details.
WhatsApp Business Calling API pricing
The WhatsApp Business Calling API has different pricing. View the Calling API pricing document for details.
Updates to rate cards
As announced in June 2024, we may update rates up-to-quarterly. For marketing, updates are to reflect demand and the value these messages deliver. For utility and authentication, our objective is to price on-par with alternate channels.
To support these efforts, we have made the following updates:
Effective April 1, 2025
Lowered authentication-international pricing rates for Egypt, Nigeria, Pakistan, and South Africa.
Effective February 1, 2025
Lowered authentication pricing rates for Egypt, Malaysia, Nigeria, Pakistan, Saudi Arabia, South Africa, and the United Arab Emirates.
Added authentication-international pricing rates for Egypt, Malaysia, Nigeria, Pakistan, Saudi Arabia, South Africa, and the United Arab Emirates.
Effective November 1, 2024
Service conversations are now free for all businesses, including via AI-enabled conversational experiences.
Effective October 1, 2024
Updated pricing rates in India, Saudi Arabia, the United Arab Emirates, and the United Kingdom.
Effective August 1, 2024
Lowered utility conversation pricing rates.
Country calling codes
Charges for conversations are based on the country of the user’s phone number. We rely on your customer’s country calling code and network prefix (area code) to determine their country. The table below shows how we map country codes to countries or regions. If a country is not listed below, it maps to Other.
| Markets |
Calling Code
(and network prefix if applicable) |
|---|---|
Countries
Argentina Brazil Chile Colombia Egypt France Germany India Indonesia Israel Italy Malaysia Mexico Netherlands Nigeria Pakistan Peru Russia Saudi Arabia South Africa Spain Turkey United Arab Emirates United Kingdom | 54 55 56 57 20 33 49 91 62 972 39 60 52 31 234 92 51 7 966 27 34 90 971 44 |
North America
Canada
United States | 1
1 |
Rest of Africa
Algeria
Angola Benin Botswana Burkina Faso Burundi Cameroon Chad Republic of the Congo (Brazzaville) Eritrea Ethiopia Gabon Gambia Ghana Guinea-Bissau Ivory Coast Kenya Lesotho Liberia Libya Madagascar Malawi Mali Mauritania Morocco Mozambique Namibia Niger Rwanda Senegal Sierra Leone Somalia South Sudan Sudan Swaziland Tanzania Togo Tunisia Uganda Zambia | 213
244 229 267 226 257 237 235 242 291 251 241 220 233 245 225 254 266 231 218 261 265 223 222 212 258 264 227 250 221 232 252 211 249 268 255 228 216 256 260 |
Rest of Asia Pacific
Afghanistan
Australia Bangladesh Cambodia China Hong Kong Japan Laos Mongolia Nepal New Zealand Papua New Guinea Philippines Singapore Sri Lanka Taiwan Tajikistan Thailand Turkmenistan Uzbekistan Vietnam | 93
61 880 855 86 852 81 856 976 977 64 675 63 65 94 886 992 66 993 998 84 |
Rest of Central & Eastern Europe
Albania
Armenia Azerbaijan Belarus Bulgaria Croatia Czech Republic Georgia Greece Hungary Latvia Lithuania Moldova North Macedonia Poland Romania Serbia Slovakia Slovenia Ukraine | 355
374 994 375 359 385 420 995 30 36 371 370 373 389 48 40 381 421 386 380 |
Rest of Western Europe
Austria
Belgium Denmark Finland Ireland Norway Portugal Sweden Switzerland | 43
32 45 358 353 47 351 46 41 |
Rest of Latin America
Bolivia
Costa Rica Dominican Republic Ecuador El Salvador Guatemala Haiti Honduras Jamaica Nicaragua Panama Paraguay Puerto Rico Uruguay Venezuela | 591
506 1 (809, 829, 849) 593 503 502 509 504 1 (658, 876) 505 507 595 1 (787, 939) 598 58 |
Rest of Middle East
Bahrain
Iraq Jordan Kuwait Lebanon Oman Qatar Yemen | 973
964 962 965 961 968 974 967 |
Other
All other countries | Varies by country |
The information in the table above is also available in a CSV file:
Webhooks
Pricing information is included in all message webhooks. See:
Billing
Billing and billing-related actions are handled through the Meta Business Suite. See About Billing For Your WhatsApp Business Account for more information.
Marketing Messages API for WhatsApp
If you are using the Marketing Messages API for WhatsApp, such usage is subject to Marketing Messages API for WhatsApp pricing. See the Marketing Messages API for WhatsApp pricing document for pricing information and rate cards.
See also
New pricing policy for AI Providers leveraging the WhatsApp Business Platform | Developer Documentation
New pricing policy for AI Providers leveraging the WhatsApp Business Platform
Updated: Mar 4, 2026
This page is specific to “AI Providers” using the WhatsApp Business Platform. This does NOT change how Meta charges all other businesses using the WhatsApp Business Platform. Refer to the pricing page.
Who this applies to
This is specific to “AI Providers” using the WhatsApp Business Platform, as defined in our Terms of Service updated on January 15, 2026: Providers and developers of artificial intelligence or machine learning technologies, such as large language models, generative artificial intelligence platforms, general-purpose artificial intelligence assistants, or similar technologies who provide certain services on WhatsApp Business Platform.
This does NOT change how or what Meta charges all other businesses using the WhatsApp Business Platform. They will continue to be charged as outlined in the pricing explainer. This includes not being charged for non-template messages sent in an open customer service window. This also does not change the mechanics of the customer service window.
Why Meta is charging
Specifically for third party AI Providers:
Effective January 15, 2026, WhatsApp’s Terms of Service update “AI Providers” are only permitted to offer general purpose AI assistants on the WhatsApp Business Platform where Meta is legally required to permit this use case.Effective February 16, 2026, in countries where Meta is legally required to support AI Providers usage of the WhatsApp Business Platform, Meta will charge AI Providers for non-template messages sent to WhatsApp users in these countries.
What and where Meta will charge
Effective February 16, 2026 – Meta will charge for:
Each non-template message (, and so on)Delivered from an “AI Provider”To a user in a market where Meta is legally required to permit AI Providers to use the WhatsApp Business Platform
Markets and effective dates (as of January 28, 2026):
Effective February 16, 2026, this applies to Italy (+39).
Effective March 11, 2026, this applies to the following countries:
Austria (+43)Belgium (+32)Brazil (+55)Bulgaria (+359)Croatia (+385)Cyprus (+357)Czech Republic (+420)Denmark (+45)Estonia (+372)Finland (+358)France (+33)Germany (+49)Greece (+30)Hungary (+36)Iceland (+354)Ireland (+353)Latvia (+371)Liechtenstein (+423)Lithuania (+370)Luxembourg (+352)Malta (+356)Netherlands (+31)Norway (+47)Poland (+48)Portugal (+351)Romania (+40)Slovakia (+421)Slovenia (+386)Spain (+34)Sweden (+46)
For example: If a user in Italy sends an AI Provider a prompt, and the AI Provider delivers three non-template message responses to the user over a span of 5 minutes, that will incur three charges.
Rates
These rates are specific to AI Providers using the WhatsApp Business Platform. To see rates for marketing, utility, and authentication messages, please refer to Pricing on the WhatsApp Business Platform.
Analytics
The Pricing Analytics API will include a new
<PRICING_CATEGORY> value of AI_BOT to reflect AI Provider traffic.Webhooks
The webhooks will reflect the
<PRICING_CATEGORY> for these non-template messages from “AI Providers” as general_purpose_ai.WhatsApp Cloud API Get Started | Developer Documentation
WhatsApp Cloud API Get Started
Updated: Oct 1, 2025
This guide helps developers quickly get started with the WhatsApp Cloud API. It covers the basic setup steps, including registering as a developer, creating a Meta app, sending your first message, and setting up a test webhook endpoint. You’ll also learn how to generate secure access tokens and send both template and non-template messages. Advanced features and further resources are introduced for deeper exploration.
Download the Sample App
The Jasper’s Market sample app contains all of the messages and code used in the Jasper’s Market demo. You can use this sample app to learn how to build an application that sends and handles WhatsApp Cloud API data.
Prerequisites
Step 1. Create a New Meta Developer App and Set Up with WhatsApp
You need to create a Meta developer app and set the app up with the WhatsApp use case.
Click on “Go to App Dashboard” and follow the instructions below to get started.
If you already have a Meta app
If you do not have a Meta app
Step 2. Connect Your Meta App to a WhatsApp Business Account
After creating your Meta app, you need to connect it to a WhatsApp Business Account. This connection allows your app to access the WhatsApp Cloud API and send messages on behalf of your business.
Note: If you created a new Meta Business Portfolio during app creation, a WhatsApp Business Account may have been automatically created for you. Verify the connection in the API Setup section before proceeding.
Step 3. Send Your First Template Message
With your new app set up, let’s send your first message on WhatsApp.
hello_world template message to a phone number of your choosing.
Step 5. Create a System User and Generate a Permanent Access Token
The temporary access token you created to send the
hello_world template message expires quickly and is not suitable for development purposes. So you should create a permanent token for use across the WhatsApp Business Platform.Step 7. Finish
The WhatsApp Cloud API enables you to send messages and receive webhooks—these are the fundamental building blocks for messaging integration. Beyond these basics, the API offers additional features such as group creation and management, as well as support for calling. To explore these advanced capabilities, check out the “Learn more” section below.