WhatsApp Business API Messaging Limits and Quality
WhatsApp Business API messaging limits from 250 to unlimited: how to move up, what green, yellow and red quality mean, and what changed in 2025-2026.
In this article
The WhatsApp Business API messaging limit is set by Meta, not by the provider, and starts at 250 different people per day for every new business. It rises in steps, 2,000, 10,000, 100,000 and unlimited, as the company verifies its account and delivers quality messages. Since October 2025 the limit is calculated per business portfolio, not per number, and a red quality rating no longer downgrades it. This article explains each rule, whose rule it is and what to do when a number runs into it.
Short answer: how many people can I contact per day?
It depends on the tier your business portfolio is in at Meta. A newly connected business can start conversations with up to 250 different people in a rolling 24-hour window. Once the company is verified in Business Manager, or after a track record of good-quality deliveries, the tier rises to 2,000, then 10,000, then 100,000 and finally unlimited.
Three details change how you read that number:
- The limit counts people, not messages. Three templates to the same contact use up one unit.
- Only messages outside the customer service window count. Replying to someone who wrote to you in the last 24 hours does not use capacity.
- The limit is Meta's. A serious provider does not put anything on top of it. Frame Conexa, for example, has no sending quota: the marketing number sends as far as Meta allows.
Besides this per-business limit, there is a per-person limit, also Meta's, that no dashboard can show before sending. It is what appears as error 131049, and it has its own section below.
The five tiers: 250, 2,000, 10,000, 100,000 and unlimited
Meta's messaging limits documentation defines capacity as the maximum number of different phone numbers to which a business can deliver messages, outside a customer service window, in a rolling 24-hour window. The steps are these:
| Tier | Different people in 24 hours | How you get there |
|---|---|---|
| Initial | 250 | Every new business starts here |
| 2,000 | 2,000 | Business verification, or 2,000 quality deliveries in 30 days |
| 10,000 | 10,000 | Automatic upgrade based on usage and quality |
| 100,000 | 100,000 | Automatic upgrade based on usage and quality |
| Unlimited | No cap on people | Automatic upgrade based on usage and quality |
The 1,000 step, which appeared in many articles, no longer exists. The second tier is now 2,000. If you read "1,000 conversations tier" somewhere, the text is outdated.
What counts: unique people, outside the window, in a rolling 24 hours
The window is rolling: it does not reset at midnight. If you started conversations with 250 people between 2 p.m. yesterday and 2 p.m. today, you only recover capacity as each of those deliveries completes 24 hours. That is why a big campaign sent all at once locks the number for the whole day, while the same campaign spread over two or three days fits.
What consumes capacity is delivering a template to someone who does not have the 24-hour window open. A reply inside the window, whether free text or a utility template, does not count. This has a practical consequence for support teams: day-to-day volume, answering customers, never competes with a campaign for the same capacity.
Note: today, service messages inside the window are free. Meta announced that from 10/01/2026 service messages and utility templates inside the window will be charged per message. That changes the cost, not the limit: replying inside the window still does not use capacity. The amounts are in the table Meta published in September 2026, so check the official rate card before planning the budget.
Since October 2025 the limit belongs to the portfolio, not the number
Until 10/07/2025 each number had its own limit. Since then, according to the messaging limits changes page, the limit is calculated at the business portfolio (the Business Portfolio, formerly Business Manager) and shared by all of its numbers. Portfolios that already existed inherited the highest limit among their numbers.
In practice, two numbers of the same company share the same capacity. If one of them started 1,500 conversations today in a 2,000 portfolio, 500 are left for the other. And when the portfolio moves up a tier, all numbers move up together. It is a better model for those who operate several lines and worse for those who thought "connecting one more number" doubled their reach: it does not.
How do I get out of 250?
There are two paths, and they are not mutually exclusive. The faster one is to verify the company. The other is to deliver volume with quality.
Verify the company in Business Manager
Business verification is done in Business Manager itself, with company documents (in Brazil, the CNPJ, the company tax registration). It is what unlocks higher limits, more numbers per account and eligibility for the Official Business Account badge. It is a Meta process, free of charge, and the provider does not do it for you: as a Tech Provider, Frame Conexa connects the number to the API, but verification and payment for the account stay in your company's Business Manager.
A common mix-up: the blue badge next to the name, the Official Business Account, is something else. It requires a verified portfolio, at least 30 days on the platform, active two-step verification and an approved display name, and Meta only grants it to brands it considers notable, according to the official page on Official Business Accounts. The badge does not raise the limit. Verification does.
Or deliver 2,000 quality messages in 30 days
The path without verification, described in the limits documentation: deliver out-of-window messages to 2,000 different numbers in 30 days, using high-quality templates. Note the word deliver. A message that failed, whether because the number has no WhatsApp or because Meta rejected it, does not count. And at 250 per day the arithmetic minimum is eight days of sending at the cap, which in real life becomes two or three weeks.
That is why the first campaign of a new number cannot be a cold list of 2,000 people. The guide on bulk sending through the official API goes deeper on this: starting with people who already know the company produces reads and replies, which is what Meta calls quality and what raises the tier.
How to move up automatically: the half-in-7-days rule
After leaving 250, the upgrade is automatic and the rule is objective. Meta raises the portfolio one tier when two conditions are met at the same time:
- Messages from all numbers in the portfolio have high quality.
- At least half of the current limit was used in the last 7 days.
Once both are met, the upgrade happens within 6 hours. Before October 2025 the wait was 24 hours.
The second condition is the one that misleads most. Quality is not enough: you have to use the capacity. A business at 2,000 that sends 300 messages per week has excellent quality and will never move up, because it has not shown it needs more. Anyone who wants to reach 10,000 needs to start at least 1,000 conversations per week, with good read rates and few blocks, and Meta does the rest.
Tip: plan the climb. If the goal is a campaign to 8,000 people a month from now, the number needs to be at 10,000 by then, which means going through 2,000 with at least 1,000 quality deliveries per week. Finding out the limit on the day of the send is the most expensive way to learn the rule.
Number quality: green, yellow and red
Number quality is the rating Meta gives based on what recipients did in the last 7 days: blocked the number, reported it, and the reason they gave when doing so. Green is high quality, yellow is medium, red is low. It appears in WhatsApp Manager and the provider receives it by webhook, which is how the Frame Conexa dashboard shows it in each number's detail.
Quality is measured per number, even though the limit is per portfolio. And it feeds into the upgrade calculation: the condition "high quality on all numbers" from the previous section is exactly this rating. One yellow number in the portfolio holds back the upgrade of all the others.
What changed: the "Flagged" state is gone and the limit no longer drops
Here is the most important correction in this article, because most texts still repeat the old rule.
Old rule: a number with red quality entered the "Flagged" state. If it did not improve within 7 days, the sending limit dropped one tier, from 100,000 to 10,000 for example, and you could not move up while flagged.
Current rule, since 10/07/2025: the "Flagged" state was eliminated and, in the words of Meta's changes page, the sending limit is no longer downgraded because of a drop in quality. Quality now counts for two things: deciding whether the portfolio moves up, and triggering the spam restrictions and template pauses described below.
In other words: red quality today does not take away capacity you have already earned. It stops you from earning more and switches on the automatic brakes. If you read that "red quality drops the tier in 7 days", that information has been outdated for nearly a year.
What still drops: template pauses and spam restrictions
What low quality still causes, and this has not changed:
Template pause. Each template has its own quality rating, calculated from usage, blocks, reports and read rate. When a template reaches low quality, Meta pauses it automatically: 3 hours the first time, 6 hours the second and, the third time, it is disabled for good, according to the official template pausing page. A paused template does not go out: the API rejects it. You can unpause manually in WhatsApp Manager, but resending the same text to the same audience only speeds up the third pause. The article on approved templates explains what usually drags the rating down.
Spam restriction. When a number's report rate rises, Meta starts rejecting sends with code 131048. It is not a ban, it is a brake. The way out is to slow down and review the audience before resuming.
Meta also warns that a number that keeps sending low-quality templates may, over time, be affected as a whole. That "affected" is the territory of the article on blocked WhatsApp Business accounts: the ladder of sanctions starts long before the number is lost, and each step has an error code that tells you where you are.
Per-person limit: the 131049 error that no dashboard shows
There is a second limit, and it is not on your number or on your portfolio. It is on the person receiving.
Meta limits how many marketing templates a single WhatsApp user can receive in a period, adding up all the businesses that message them. The number is not disclosed. The page on per-user limits describes it as dynamic and adaptive: people who read the marketing messages they receive may receive more; people who ignore them receive fewer. Every delivered marketing template counts. Messages inside a window opened by the person themselves do not count, and utility and authentication templates are not affected.
When the person has already hit their limit, Meta does not deliver and returns code 131049, explaining that the message was not delivered to maintain healthy ecosystem engagement. The official guidance is to wait at least 24 hours before trying again. Resending repeatedly before that can extend the block by another 24 hours.
Why it "does not show in any dashboard": because the limit belongs to the recipient, and your provider does not know how many marketing messages that person received from other companies today. No prior check can predict this error. It only exists after the send, as a result. It is the same with 130472, the Meta experiment in which a small group of users does not receive marketing from businesses they have never talked to. In both cases the person has no problem and neither does your number: it is a Meta decision about that recipient, at that moment.
In the Frame Conexa dashboard this reason shows up next to each recipient as "Meta per-person limit", with the action "wait at least 24 hours". The API error dictionary covers code 131049 along with the others that a real campaign usually returns.
Important: on a cold list it is normal for part of the failures to be 131049. It is not a sign that the number is in bad shape. It is a sign that those people already receive too much marketing, from everyone. Resending the same day makes it worse, and removing from the audience anyone who fails twice in a row improves the quality of what is left.
Speed: 80 msg/s, 20 msg/s with coexistence and error 130429
The limit on people per day and sending speed are different quantities, and the second is also Meta's. According to the throughput page, a number on the Cloud API sends up to 80 messages per second by default. Meta raises this automatically and at no cost to up to 1,000 per second for portfolios with an unlimited limit that start more than 100,000 conversations in 24 hours with yellow quality or better. That is a large operating level and not what changes life for a clinic or a shop.
What does change things is the case of coexistence: a number that stays on the WhatsApp Business app on the phone and on the API at the same time has a fixed speed of 20 messages per second. It does not go up. For 2,000 messages that is 100 seconds at top speed, which in practice is not a problem: the daily capacity in people is reached long before the speed.
When the pace goes over what is allowed, Meta returns code 130429. Frame Conexa avoids this error by construction: sends are serialized per number at a maximum of 20 per second, the slot is shared between campaigns and one-off sends from that number, and each campaign has its own pace, from 1 to 20 messages per second. Two campaigns at the same time never form a burst. If 130429 still appears, the dashboard shows "pace above the allowed limit" and the action is to resend more slowly.
Warning: a lower pace is an operating choice, not a limit. Sending 2,000 messages in two minutes or in an hour ends up in the same place as far as Meta is concerned. The difference is that, in an hour, you have time to see the first failures and pause before burning the quality of the whole number.
Healthy number that does not send: account blocked for lack of payment
There is a case that shows up in neither quality nor capacity: a green number, with plenty of limit, that delivers no template at all. The reason is usually payment for the account at Meta.
The one who pays for template messages is your company, directly to Meta, with a card registered in Business Manager. With no valid payment method, with an exhausted credit limit or with the billing line inactive, the WhatsApp Business account goes into a blocked state and the API returns code 131042, described in the official error code list as a problem with the account's payment method. The step-by-step to fix it is in WhatsApp API payment method.
Two clarifications that prevent support tickets:
- The provider does not register the card for you. As a Tech Provider, Frame Conexa has no access to your account's billing at Meta. That is exclusive to another type of partner, the Solution Partner, which bills the customer with its own credit line. Here the card is registered by your company, in your Business Manager.
- Replying inside the window keeps working. The payment block affects what is charged, that is, templates. A conversation opened by the customer can still be answered. That is why a "blocked" number can look normal in support and fail only in the campaign.
The Frame Conexa dashboard reads the account's health state together with the number's quality and, when the account is blocked, refuses to create the campaign before spending anything, with a notice that leads to your company's Business Manager. An account in limited state, which is the cap for an unverified business, is not blocked: it sends within its own limit, and locking it there would prevent sending for people who are allowed to.
How Frame Conexa shows the number's capacity
All of the above is Meta's rule. What the provider does is make the rule visible before it turns into mass failure. In Frame Conexa this happens at five points:
Number capacity. In Campaigns there is a "Number capacity" tab, which shows the current tier read from Meta, how many different people received a template in the last 24 hours and how much is left. The Overview gets a strip from 80% usage, which changes tone at 100%. The 24-hour count is an approximation made on our side, from the deliveries that went through here, which is why it errs on the safe side.
Check before the campaign. Creating a campaign larger than the available capacity is rejected before any send, with the code TIER_INSUFICIENTE, and the response gives the numbers:
{
"error": "o número está no nível de 250 conversas/24h e já iniciou ~180 - a campanha de 500 não cabe",
"code": "TIER_INSUFICIENTE",
"details": { "capacity": 250, "used24h": 180, "recipients": 500 }
}
The alternative would be to let Meta reject them one by one, in the middle of the send, with the same result and double the damage to quality.
Automatic pause. A running campaign pauses by itself when the number drops to red quality, when Meta returns 131048 or when the failure rate goes over the configured limit with a minimum sample. Resuming is a person's action, after reviewing the audience.
Email warning. When a number exhausts its 24-hour capacity, the account receives one email per number, once a day, saying whose limit it is and when it comes back. The point that email exists to make clear is that the limit is not ours.
Reason per recipient. Each campaign failure appears with the label, explanation and action for the code Meta returned, in the same dictionary the errors article reproduces. The limits of the Frame Conexa API itself, which are on requests and not on messages, are in errors and limits.
If you want to understand the mechanism behind all of this, and why the official WhatsApp API trades the uncertainty of being blocked for published rules, the full picture is in the foundational article.
Frequently asked questions
What is the initial sending limit of the WhatsApp API?
Every new business starts out able to start conversations with 250 different people in a rolling 24-hour window, counting only messages sent outside the customer service window. The limit is Meta's, calculated per business portfolio and shared by all of its numbers. Replying to someone who wrote to you in the last 24 hours does not use this limit.
How do I raise the limit from 250 to 2,000?
In two ways, which can be combined: verify the company in Business Manager, with the CNPJ documents, or deliver out-of-window messages to 2,000 different numbers in 30 days, with high-quality templates. From there the upgrade is automatic: high quality on all numbers in the portfolio and at least half of the current limit used in the last 7 days make Meta raise one tier within 6 hours.
Does a number with red quality lose its limit?
No, not since 10/07/2025. Meta eliminated the "Flagged" state and stated that the sending limit is no longer downgraded because of a drop in quality. What red quality does today is block the tier upgrade, pause low-quality templates for 3 hours, then 6 and then for good, and trigger the spam restriction, error 131048. The "7 days to drop a tier" rule that many articles repeat is obsolete.
What is error 131049?
It is Meta's rejection for the marketing limit per person: the recipient has already received too many marketing templates, across all businesses, and Meta holds back delivery to preserve engagement. The limit is dynamic and not disclosed. The official guidance is to wait at least 24 hours before resending; insisting earlier can extend the block. Utility and authentication templates and replies inside the window are not affected.
Why does my connected number send nothing?
If quality is green and there is spare capacity, the most common reason is payment for the account at Meta: with no valid card in Business Manager, the API returns code 131042 and no template goes out, although replies inside the window keep working. The card is registered by your company, in its own Business Manager; Frame Conexa, as a Tech Provider, has no access to that billing. Other reasons are a template paused for low quality, a spam restriction and, in bulk sending, a pace above 20 messages per second on a coexistence number.
Next step
If your number is still at 250, the shortest path is to verify the company in Business Manager and start sending to people who already know the business. Frame Conexa shows the number's capacity before each campaign and refuses what does not fit. See the per-number plans and, if you integrate through code, the API limits.
Keep reading
Blocks and quality
WhatsApp API Errors: 131047, 131026, 131049 and More
A dictionary of WhatsApp API errors: 131047, 131026, 131049, 130472, 133010, and 190. What each code means, whose rule it is, and what to do.
Blocks and quality
WhatsApp Business Blocked: What to Do and How to Avoid It
WhatsApp Business number blocked or banned? See the causes Meta cites, how to request a review, what can be reversed and how to never lose your number again.
Pricing
WhatsApp Service Message Billing Starts in October 2026
The 1,000 free service messages per number, Meta's charges from October 1, and how to control replies in Frame Conexa.
Connect the number you already use to the official WhatsApp API.
No switching numbers, no losing the app and no per-message fee from us. You pay per number; you pay Meta directly.