WhatsApp API & Developers

WhatsApp API Messaging Limits: Tiers and How to Scale

Your first proper campaign on the WhatsApp Business Platform goes out, and only the first 250 people on the list get it. The template was approved, the code was fine, the list was opted in. What you ran into is a WhatsApp API messaging limit: the cap Meta puts on how many people a business can reach outside a conversation they started.

Messaging limits are the most misread number on the platform. They cap unique people, not messages, and they ignore replies inside an open conversation. Since October 2025 they belong to your business portfolio, not to a phone number.

This guide covers what counts, the tiers, how to climb them and how to plan sends around the cap, as of October 2026.

Key takeaways

  • The limit counts unique users you deliver to outside a customer service window, in a moving 24 hours.
  • Tiers: 250, 2,000, 10,000, 100,000, unlimited. A scaling path gets you to 2,000; after that it's automatic.
  • Limits are shared by every number in the business portfolio, so a second number adds no capacity.
  • Check it with the whatsapp_business_manager_messaging_limit field. The old messaging_limit_tier field is deprecated.

What a messaging limit actually counts

Meta defines messaging limits as the maximum number of unique WhatsApp users your business can deliver messages to, outside of a customer service window, within a moving 24-hour period (Meta's messaging limits page). Here is how that plays out.

SituationCounts toward the limit?
Marketing template to a customer who last wrote to you a week agoYes, one unique user
Three templates to that same customer on the same dayStill one unique user (other caps may stop the extra two)
Free-form reply to a customer who wrote to you an hour agoNo, their service window is open
Utility template sent while the customer's window is openNo, it's inside the window
An attempt to send a paused templateNo, Meta rejects it and doesn't count it

The customer service window is the 24 hours after a user's last message to you. Inside it you are answering, so the limit doesn't apply. Outside it you can only send approved templates, and each new person takes a slot. Our guide to the WhatsApp 24-hour window covers that boundary.

"Moving 24 hours" means there is no midnight reset. If you reach 1,800 people at 10:00 on Tuesday, those slots free up from about 10:00 on Wednesday, one by one, as each delivery ages past 24 hours.

The tiers and how you climb them

New business portfolios start at 250. From there:

LimitHow you get there
250Starting limit for every new business portfolio
2,000Complete one scaling path, then pass Meta's quality review
10,000Automatic scaling
100,000Automatic scaling
UnlimitedAutomatic scaling

The scaling path to 2,000. You need one of these:

  1. Verify your business in Meta Business Suite.
  2. Have your partner verify your business, if a Solution Partner onboarded you.
  3. Send 2,000 delivered messages outside service windows to unique users within a 30-day moving period, using templates with a high quality rating.

Once a path is complete, Meta analyses your message quality and approves or denies automatic scaling. On approval, the limit goes to 2,000 straight away and you get an email, a developer alert and a business_capability_update webhook. On denial, you get an account_alerts webhook whose alert_type tells you the next move:

alert_typeWhat to do
INCREASED_CAPABILITIES_ELIGIBILITY_DEFERREDSend 2,000 delivered messages outside service windows to unique users in 30 days, with high-quality templates
INCREASED_CAPABILITIES_ELIGIBILITY_FAILEDSame as above
INCREASED_CAPABILITIES_ELIGIBILITY_NEED_MORE_INFOVerify your identity, or take the 2,000-message route

Automatic scaling after 2,000. Meta raises your limit one level when two things are true: you are sending high-quality messages across all your numbers and templates, and you have used at least half of your current limit in the last 7 days. When both hold, the increase lands within 6 hours. At the 10,000 tier, "half" means 5,000 unique recipients outside service windows.

If a number's health_status comes back LIMITED with a note that your display name isn't approved, fix that first: Meta's example says the limit rises once it is.

Limits live at the portfolio level now

Since October 7, 2025, Meta calculates messaging limits per business portfolio, and every business phone number in that portfolio shares the same pool. When the change landed, existing portfolios were set to the highest limit any of their numbers held.

Three practical effects:

  • New numbers start with full capacity. A number registered today inherits the portfolio's limit immediately instead of starting at 250.
  • Extra numbers add no capacity. Splitting a campaign across five numbers just divides the same pool.
  • One number can starve the rest. Meta says plainly that a single number can use up the portfolio's whole limit. If marketing blasts and support notifications share a portfolio, a big campaign can leave nothing for the shipping alerts that afternoon.

If several teams share one portfolio, agree who gets how much before the campaign. The same change removed the old "Flagged" state: Meta says a drop in phone number quality no longer downgrades your limit. Quality still decides whether you scale, covered in how the WhatsApp quality rating works.

How to check your limit in code

Request the whatsapp_business_manager_messaging_limit field. Meta lets you ask for it on the business portfolio, a WhatsApp Business Account or any phone number in the portfolio. Use the current Graph API version from Meta's changelog in place of v23.0.

curl "https://graph.facebook.com/v23.0/PHONE_NUMBER_ID?fields=whatsapp_business_manager_messaging_limit" \
  -H "Authorization: Bearer $WHATSAPP_TOKEN"
{
  "whatsapp_business_manager_messaging_limit": "TIER_250",
  "id": "PHONE_NUMBER_ID"
}

In WhatsApp Manager the same number sits in the Messaging limits panel under Account tools. For changes, subscribe to business_capability_update and read max_daily_conversations_per_business. The older max_daily_conversation_per_phone field was scheduled for removal in February 2026. Meta's reference lists values like TIER_2K while its own sample payload shows 2000, so parse both.

If several workers send campaigns, keep your own running count so you stop before the cap. A Redis sorted set keyed by recipient is enough:

import time
import redis

r = redis.Redis()
KEY = "wa:outside_window:portfolio"
DAY = 24 * 3600

def reserve_slot(recipient_id: str, limit: int) -> bool:
    """Call only for sends OUTSIDE an open service window."""
    now = time.time()
    r.zremrangebyscore(KEY, 0, now - DAY)          # drop deliveries older than 24h
    already_counted = r.zscore(KEY, recipient_id) is not None
    if not already_counted and r.zcard(KEY) >= limit:
        return False                               # would open a new slot past the cap
    r.zadd(KEY, {recipient_id: now})               # refresh the user's last send time
    return True

Wrap it in a Lua script or lock if processes share it, and set limit a little below your real tier. Key it on the user's BSUID rather than a phone number, since usernames mean phone numbers won't always arrive in webhooks.

Planning a campaign around the cap

Say your portfolio sits at 2,000 and you have 6,500 opted-in customers to tell about a price change. A workable plan:

  1. Rank the list. Recent buyers and people who opened your last message go first, because their engagement protects your quality rating.
  2. Send in 24-hour waves. 2,000 on day one, the next 2,000 roughly 24 hours later. Because you are using more than half your limit, high quality can lift you to 10,000 within hours and the remainder may go in one wave.
  3. Let replies ride free of the cap. Anyone who answers opens a service window, and your follow-ups inside it don't use slots.
  4. Let customers start more conversations. Click-to-chat links, QR codes and Click-to-WhatsApp ads put you inside the window from the first message. Ads add a pricing perk, explained in our guide to the WhatsApp free entry point.

Messaging limits versus the other caps

Teams often blame the messaging limit for errors that come from a different ceiling.

CapScopeWhat it limitsWhere you see it
Messaging limitBusiness portfolioUnique users outside service windows, moving 24hWhatsApp Manager, whatsapp_business_manager_messaging_limit
ThroughputPhone numberMessages per second (80 by default)Error 130429
Pair rate limitNumber and one userMessages to the same user in a short timeError 131056
Per-user marketing limitsOne userMarketing templates a user receivesError 131049
Spam restrictionPhone numberSending after many blocks or spam reportsError 131048

Speed problems live in the layer covered by WhatsApp API throughput. For the wider platform, see the complete guide to the WhatsApp API.

Where Tenashi fits

If your real need is talking to customers who already know you (follow-ups, quotes, reminders, group updates), the tier ladder is a lot of machinery. Tenashi takes a different route: you link the WhatsApp or WhatsApp Business number you already use with a QR scan, and your team works it from one shared inbox with a CRM under every chat. It runs on your own number as a linked device, not on Meta's official API, so there are no Meta tiers, no template approvals and no per-message fees.

It has its own guardrails instead, and they are deliberately conservative. Through the Tenashi API, each number sends one message every 4 to 12 seconds, opens at most 50 new chats a day (replies don't count), and new numbers warm up from 20 messages on day one. That makes it the wrong tool for reaching tens of thousands of cold contacts, and WhatsApp can still ban numbers that spam: ban protection reduces risk, it doesn't remove it. Plans start from $18/mo.

Read the API docs · Get started

FAQ

What is the default WhatsApp API messaging limit?

New business portfolios start at 250 unique users outside customer service windows per moving 24 hours. Completing a scaling path, such as business verification, and passing Meta's quality review raises it to 2,000. From there, Meta raises it automatically to 10,000, 100,000 and unlimited when quality is high and you use at least half the limit.

Do replies to customers count toward the messaging limit?

No. The limit only counts deliveries outside a customer service window. When a customer messages you, a 24-hour window opens, and anything you send inside it, including free-form replies and templates, doesn't use a slot. Throughput and pair rate limits still apply, so very fast back-and-forth can still hit other caps.

Does adding a second phone number double my limit?

Not anymore. Since October 7, 2025, limits are set per business portfolio and shared by every phone number in it. A new number gets the portfolio's limit immediately, but it draws from the same pool. One busy number can use the entire allowance, so allocate capacity between teams before big sends.

Can my messaging limit go down?

Meta says a drop in phone number quality no longer downgrades your limit, and the old Flagged state is gone. Low quality still blocks automatic scaling, can pause templates and can trigger spam restrictions. Policy enforcement is separate and can block sending entirely for days, so treat quality as the thing that protects your limit.

How long does it take to move up a tier?

Approval through a scaling path takes your limit to 2,000 immediately once Meta's quality review passes. After that, automatic scaling raises the limit one level within about 6 hours of meeting the criteria: high-quality messages across your numbers and templates, and at least half your current limit used in the last 7 days.


Messaging limits reward businesses that send fewer, better messages and let customers start the conversation. If most of your WhatsApp work is answering people who already know you, see how Tenashi's shared inbox handles it on the number you already have.