Calling API

The Calling API is a new feature available on the WhatsApp Cloud API that allows businesses to make and receive voice calls directly through WhatsApp.

What is Calling API?

The Calling API is a new feature available on the WhatsApp Cloud API that allows businesses to make and receive voice calls (using VoIP) directly through WhatsApp.

With this feature, partners can integrate WhatsApp calling into their existing communication systems, enabling more dynamic customer interactions - while end-users initiate calls through the WhatsApp app, businesses use the Graph API for signaling and call control.

The Calling API unlocks new opportunities for:

  • Customer Support: Let users call your business for fast, humanized assistance.

  • Callback Flows: Trigger calls after a user action or campaign interaction.

  • Hybrid Experiences: Combine messaging + voice to guide users through more complex journeys.

Key highlights:

Supports outbound and inbound calls.

Can handle up to 1,000 simultaneous calls.

Users can send messages during a call.

Outbound calls are charged in 6-second increments (rounded up).

Call pricing details are available via WhatsApp Manager or programmatically.

Inbound calls (from users to businesses) are free.

Who is Calling API for?

The Calling API is designed for businesses that:

  • Have experience with real-time communication APIs (e.g., VoIP)

  • Have technical capacity to manage WebRTC signaling and call routing

  • Are interested in offering voice-based support or lead qualification flows via WhatsApp

  • Have use cases in Service, Marketing, or Utility

Common Use Cases

  • End-user starts a voice call → Human agent responds (medium complexity)

  • End-user starts a voice call → Voice bot handles the conversation (advanced use case)

  • Business initiates a voice call to an end-user

Calling API is available in all countries where Cloud API is supported, except USA, Canada, Turkey, Egypt, Vietnam, and Nigeria.

Requirements

  • Setup is required per phone number

  • Business must have at least a 1K business-initiated message limit

  • Voice calling can be enabled or disabled at any time

Important Considerations

  • A third-party VoIP tool is required to handle audio; Cloud API alone is not enough

  • Meta does not recommend specific providers

  • This is not recommended for businesses with no VoIP experience or no developer resources

  • Inbound calls can be routed to cloud contact centers

  • Supported: WebRTC and SIP

  • Not supported: Routing to PSTN (mobile or landline) networks

Pricing

Calling API pricing is different for business and user-initiated calls:

1

User-initiated calls

  • Not charged.

  • When the user calls your number via WhatsApp and you answer using the API, the business is not charged.

2

Business-initiated calls

  • Charged to the business.

  • The cost is calculated based on:

    • Call duration, measured in 6-second increments (always rounded up)

    • The country code of the user’s phone number (rates vary per country)

3

Call permission request messages

These are regular template messages and follow the standard pricing (e.g. Marketing or Utility category)

Country rates are available on the official rate card. Analytics and cost tracking will be available with the call_analytics endpoint in Meta's Documentation.

Customer Service Window and Calls

To place a call, clients must have an open customer service window. This session can be opened as usual using a template message.

The 24-hour window is also opened or refreshed when:

  • A user calls your business, even if the call is not answered

  • A user answers a call initiated by your business

Once the session is active, your business can send free-form messages within the 24-hour window.

Practical Example: Calculating the Cost

Scenario: your business (in Brazil) calls a customer in Mexico. The call lasts 1 minute and 10 seconds (70 seconds), and it’s a business-initiated call.

Step-by-step cost calculation:

  1. Round up the duration Calls are charged in 6-second blocks. → 70 seconds ÷ 6 = 11.67 → rounded up to 12 blocks

  2. Apply the rate card Let’s assume the rate per block for calls to Mexico is $0.01 (for example only)

  3. Final cost → 12 × $0.01 = $0.12 USD

You can check real country rates on the official rate card.


What if the customer calls the business?

✅ In this case, there’s no cost for the business. However, the 24-hour service window is opened, allowing you to send messages without a template during that period


FAQs

Are messages charged separately during a call?

Yes. Messages exchanged during or around a call are charged separately and follow standard messaging rates based on their category (e.g., Marketing, Utility, etc.).

How is call duration calculated for billing?

Calls are billed in 6-second increments, always rounded up. For example, a call lasting 11.5 seconds will be billed as 12 seconds.

Does a voice call open a new 24-hour messaging window?

Yes. According to Meta’s documentation, when:

  • A user calls your business (even if not answered), or

  • A user answers your call,

→ A new 24-hour customer service window is opened for you to send standard Cloud API messages.

Can messaging and calling happen at the same time?

Yes. You can exchange messages with the end-user via the standard Cloud API while the voice call is ongoing.

What is the maximum number of concurrent calls allowed?

The limit is 1,000 concurrent calls per WhatsApp Business Account.

What happens if the calling rate limit is exceeded?

If the 1,000 concurrent call limit is exceeded:

  • The user trying to place a call will receive a generic error message (no specific audio or webhook is triggered).

  • Meta has indicated that this limit may be increased in the future, so the likelihood of hitting it is low.

You can find the official FAQ from Meta here: 🔗 https://developers.facebook.com/docs/whatsapp/cloud-api/calling/faq


Testing with Postman

Start testing with our Postman Collection for Calling API. You can fork the collection and simulate call flows in your development environment.


Getting Started

Initial Setup & Configuration

Includes: ✅ Required permissions & messaging tier ✅ How to enable calling (via API or UI) ✅ Managing call icon visibility & callback settings

User-Initiated WhatsApp Calls

Includes: ✅ Webhook call flow: connect → pre_accept → accept → terminate ✅ WebRTC media (SDP) ✅ DTMF & dialpad handling ✅ Deep links and call buttons

Business-Initiated WhatsApp Calls

Includes: ✅ How to request call permission (interactive or template) ✅ User consent and auto-revocation logic ✅ Call setup via /calls endpoint ✅ Webhook events: ringing, accepted, rejected, terminated

Last updated

Was this helpful?