Skip to main content

Calling API Pricing

Updated: Dec 9, 2025 All user-initiated calls are free.

Overview

Business-initiated calls are charged based on: Duration of the call (calculated in six-second pulses) Country code of the phone number being called. Volume tier (based on minutes called within the calendar month) Note: Our systems count fractional pulses as one pulse. For example, a 56-second call (9.33 pulses) would be counted as 10 pulses. For calls that cross pricing tiers (e.g. from the 0 - 50,000 tier to the 50,001 - 250,000 tier), the entire call is priced at the lower rate (i.e. the rate of the higher volume tier). A valid payment method is required to place calls. Note: Call permission request messages are subject to per-messaging pricing.

Volume-Based Pricing (VBP) rate cards

These rate cards represent the current VBP rates for the WhatsApp Business Calling API effective August 1, 2025: Rates in USD Rates in INR Rates in IDR Rates in EUR Rates in GBP Rates in AUD

How calling changes the 24 hour customer service window

Available since October 1, 2024 Currently, when a WhatsApp user messages you, a 24-hour timer called a customer service window begins, or refreshes. When you are within the window, your business is allowed to send any type of message to the WhatsApp user, which is otherwise not allowed. With the introduction of the Calling API, the customer service window now also starts or refreshes for calls: When a WhatsApp user calls you, regardless of if you accept the call or not When a WhatsApp user accepts your call.

Get cost and call analytics

You can call the GET /<WHATSAPP_BUSINESS_ACCOUNT_ID> endpoint with a ?fields=call_analytics query parameter to obtain call analytics for your WhatsApp Business Account (WABA). The endpoints can provide useful information like cost, counts of completed calls, and average call duration.

Get call analytics

Use this endpoint to get analytics for your calls, like cost, counts of completed calls, and average call duration.

Request syntax

GET /<WHATSAPP_BUSINESS_ACCOUNT_ID>?fields=call_analytics
  .<FILTERING_PARAMETERS>
  &access_token=<ACCESS_TOKEN>
ParameterDescriptionSample Value
<WHATSAPP_BUSINESS_ACCOUNT_ID>
String
Required
Your WhatsApp Business Account ID.
Learn how to find your WABA ID
102290129340398
<FILTERING_PARAMETERS>
Multiple
Required
Filtering parameters for call analytics data.
See Filtering Parameters below
See Filtering Parameters below
<ACCESS_TOKEN>
String
Required
Your access token.

Example response

\{
  "call_analytics": {
    "data": [\
      {\
        "data_points": [\
          {\
            "start": 1676361600,\
            "end": 1676448000,\
            "cost": 10,\
            "count": 10,\
            "average_duration": 1\
          }\
        ]\
      }\
    ]
  },
  "id": "114525791557199"
}

Filtering parameters

ParameterDescriptionSample Value
start
Integer
Required
The unix timestamp start date for the date range you want call analytics for.
1676361600
end
Integer
Required
The unix timestamp end date for the date range you want call analytics for.
1676448000
granularity
Enum
Required
The desired sampling of the analytics you would like to retrieve.
Supported options: HALF_HOUR | DAILY | MONTHLY
MONTHLY
country_codes
Array of String
Optional
Filter data by country codes which you have called.
Provide an array with 2 letter country codes for the countries you would like to include.
If country_codes is not provided in your filter parameters, analytics for all countries you have called are returned.
View list of approved country codes
["011","55"]
phone_numbers
Array of String
Optional
Filter data by specific business phone numbers on your WABA.
If phone_numbers is not provided, all phone numbers added to your WABA are included.
["550987659923","17862258930"]
metric_types
List of Enum
Optional
The list of metrics you would like to receive.
If metric_types is not provided we return results for all metric types.
Supported options:
COST — Cost calculated for total duration of the call by applying the rate card based on direction of the call and consumer country code.
COUNT — Total number of calls completed.
AVERAGE_DURATION — Average duration of calls completed computed by
sum of call duration of all calls divided by count of the calls
[COST, COUNT]
directions
Enum
Optional
Filter data by the calling direction of the placed call.
If directions is not provided, all phone numbers added to your WABA are included.
Supported options: USER_INITIATED | BUSINESS_INITIATED
BUSINESS_INITIATED
dimensions
Enum
Required
List of breakdowns you would like to apply to your metrics.
If dimensions is not provided, we return results without any breakdowns.
Supported options: DIRECTION | COUNTRY | PHONE
DIRECTION

Error response

View Calling API Error Codes and Troubleshooting for more information View general Cloud API Error Codes here

Sample cost and call analytics requests

Only required parameters

Request

GET /{whatsapp-business-account-id}?fields=call_analytics
      .start(1643702400).end(1646121600)
      .granularity(MONTHLY)
      .phone_numbers([])
  &access_token={access-token}

Response

\{
  "call_analytics": {
    "data": [\
      {\
        "data_points": [\
          {\
            "start": 1676361600,\
            "end": 1676448000,\
            "cost": 10,\
            "count": 10,\
            "average_duration": 1\
          }\
        ]\
      }\
    ]
  },
  "id": "114525791557199"
}

With breakdowns

Request

GET /{whatsapp-business-account-id}?fields=call_analytics
      .start(1643702400).end(1646121600)
      .granularity(MONTHLY)
      .dimensions([DIRECTION])
  &access_token={access-token}

Response

\{
  "call_analytics": {
    "data": [\
      {\
        "data_points": [\
          {\
            "start": 1676361600,\
            "end": 1676448000,\
            "direction":"USER_INITIATED",\
            "cost": 0.6,\
            "count": 5,\
            "average_duration": 1\
          },\
          {\
            "start": 1676361600,\
            "end": 1676448000,\
            "direction": "BUSINESS_INITIATED",\
            "cost": 0.4,\
            "count": 5,\
            "average_duration": 1\
          }\
        ]\
      }\
    ]
  },
  "id": "114525791557199"
}
Did you find this page helpful? Thumbs up icon Thumbs down icon ON THIS PAGE Overview Volume-Based Pricing (VBP) rate cards How calling changes the 24 hour customer service window Get cost and call analytics Get call analytics Request syntax Example response Filtering parameters Error response Sample cost and call analytics requests Only required parameters Request Response With breakdowns Request Response