Resources
Limits and quotas
The API's limit values: sizes, pagination, timeouts, retries, and plan limits.
Updated November 12, 2026View as Markdown
Requests and fields#
| Item | Limit |
|---|---|
| Message text | 1 to 4,096 characters |
| Recipient number | International format with "+", 8 to 15 digits |
| Media (image, video, audio, document) | link over https://, or a Meta id; never both |
| Template name | Lowercase letters, digits and _, up to 512 characters |
Idempotency-Key | Up to 200 characters |
| Account or business name | 2 to 120 characters |
| Application or key name | 2 to 80 characters |
externalRef | Up to 120 characters, unique per environment |
| Password | 10 to 200 characters |
| Webhook URL | Public https://, up to 2,000 characters |
Pagination#
| List | Default size | Maximum |
|---|---|---|
| Messages, webhook deliveries | 25 | 100 |
| API call log | 50 | 200 |
Sending#
| Item | Value |
|---|---|
| Send attempts on a transient failure | 6, with increasing backoff |
| Throughput per number | 50 messages per second by default (set by the platform) |
Retry of a message left in queued | After 5 minutes |
Webhooks#
| Item | Value |
|---|---|
| Response timeout for your server | 10 seconds |
| Attempts per delivery | 8 in total, with doubling backoff (about one hour) |
| Automatic disabling of an endpoint | After 15 permanently failed deliveries in a row |
| Response excerpt stored | 1 KB |
| Recommended signature tolerance | 5 minutes |
Sessions and keys#
| Item | Value |
|---|---|
| Console session duration | 30 days |
| API key lifetime | Until revoked |
Plans#
| Starter | Pro | Business | |
|---|---|---|---|
| Price per month | 5,000 FCFA | 10,000 FCFA | 30,000 FCFA |
| Numbers included in the price | 2 | 3 | 5 |
| Each additional number, beyond those included | 2,000 FCFA / month | 1,500 FCFA / month | 1,200 FCFA / month |
| WhatsApp number cap, in production | 5 | 15 | 100 |
| Messages included per month and per number, in production | 1,000 | 10,000 | 35,000 |
| Platform fee beyond the included quota (on top of Meta's rate) | 1 FCFA per message | 0.5 FCFA per message | 0.25 FCFA per message |
| Retention of logs and delivery history | 7 days | 30 days | 90 days |
| Connected businesses (your customers) | Unlimited | Unlimited | Unlimited |
| Sandbox | Unlimited, never billed | same | same |
The number is the pricing unit. The plan price includes several numbers (2 on Starter, 3 on Pro, 5 on Business); each number beyond that is added to the price, up to the tier's cap. The account's message quota is the per-number quota multiplied by the number of billed numbers: with 3 numbers on Starter, 3 × 1,000 = 3,000 messages per month. Included numbers count even if they are not all connected yet: on Starter, the minimum quota is 2 × 1,000 = 2,000. Businesses (your customers) are not limited: a number counts the same way whichever business it is attached to.
A new account gets a 7-day free trial with the Starter limits (see Usage and billing). During the trial, the quota is a cap, with no overage fees.
Beyond the included quota, sending is never interrupted: a small platform fee per message applies (1, 0.5 or 0.25 FCFA depending on the plan), on its own line. This is not the price of the message: Meta bills delivery separately, to the owner of the WhatsApp account. An account that goes over therefore pays a little more, without having its sends rejected. Prices are listed on the pricing page. Reaching a limit returns 402 plan_limit_reached (number of numbers) or 402 quota_exceeded (sending, for a plan with a hard cap). An account without a subscription stays on a default plan that is very limited (one business, one number, 100 messages per month). An Enterprise plan (unlimited numbers, negotiated volume and logs) is available on request.
Meta's limits (messaging tiers per number, number quality, content rules) apply on top: they depend on your WhatsApp account and are decided by Meta.