How are country calling codes and rates mapped for customers?

How are country calling codes and rates mapped for customers?

WhatsApp applies country calling codes and network prefixes to decide which per-minute rate applies for outbound voice calls. This ensures accurate and transparent billing across regions.


📥 DOWNLOAD THE MAPPING FILE

👉 Download country-code-to-rate-mapping.csv
(Updated weekly. Format: Country Code, Network Prefix, Region, Rate Per Minute)


🧭 WHAT’S IN THE FILE?

The CSV contains:

  • Country Code → e.g., 91 (India)
  • Network Prefix → e.g., 981 (India mobile)
  • Region Name → e.g., South Asia – India
  • Rate per Minute (USD) → e.g., 0.0075
Example row:
91, 981, South Asia – India, 0.0075

🔎 HOW RATES ARE APPLIED

Step

What Happens

Example

1

WhatsApp reads the country code from the number

+91-9812345678 → Country Code 91

2

It checks the longest matching prefix

981 matches over 98

3

Rate is applied from the mapping file

$0.0075/min for South Asia – India

📌 Longest Prefix Rule: If multiple prefixes match, the most specific (longest) prefix is always used.


🛠️ DEVELOPER USE CASES

You can programmatically:

  • Parse the CSV and map rates to numbers in your app
  • Run a startsWith(country code + prefix) check to find the correct rate
  • Integrate with Session Initiation APIs or internal billing estimators
  • Build dashboards to compare expected vs. actual costs

⚠️ LIMITATIONS TO NOTE

  • File covers voice call rates only (not SMS or templates)
  • Mappings may change weekly — always download the latest CSV
  • Carrier overrides or VoIP blocks can cause differences between mapped vs. real-world outcomes

âś… VERIFYING RATES

  • Use the mapping file to calculate expected cost per call
  • Cross-check with your Meta Business Suite invoice
  • If discrepancies arise, open a ticket with WhatsApp Business Support [https://app.getguru.com/card/#]

đź’ˇ PRO TIP

Maintain a local cache of the mapping file but refresh it weekly. For critical billing workflows, automate the CSV fetch and validation to avoid relying on stale rate data.