Skip to content
whatsapi.sh
Theme
Docs

Avoiding bans

This is an unofficial WhatsApp API. WhatsApp can restrict or ban a number that uses it. The limits and send queue reduce risky bursts, but cannot remove that risk. This guide explains what to check before sending and how to recover a disconnected number.

Why numbers get restricted

WhatsApp scores every number on three things: how fast it sends, how much it sends, and how recipients react, meaning blocks, “not my contact” reports and ignored messages. A number that fires identical texts at strangers in bursts fails all three at once. Restrictions rarely announce themselves. The usual symptom is the number quietly logging out and refusing to pair again.

Nobody outside WhatsApp knows the exact thresholds, and anyone quoting one is guessing. What follows are the paces we have seen survive long production use.

Pace every send

Messages you start are held in a queue by default, even for known contacts. They leave one at a time with the number's configured gap. Only a reply to someone who messaged this number in the last 24 hours goes out now. See the send queue for groups, login codes and other explicit exceptions.

If you bypass or disable the queue, spacing becomes your job. Do not use the plan's per-minute limit as a sending target. This example puts minutes between sends:

pacing loop
const jitter = () => 15_000 + Math.random() * 45_000; // 15–60s

for (const recipient of queue) {
  await send(recipient);
  await sleep(jitter()); // same average pace, no fingerprint
}

Your plan's per-minute cap is a ceiling, not a target. It exists so a runaway loop cannot torch a number while you sleep.

Split the load across numbers

Ten numbers sending 20 messages each look like ten busy people. One number sending 200 looks like a machine. Connect more numbers and rotate recipients across them. Each one brings its own new-conversation budget, which is the ceiling that actually binds.

Keep sends slow, even across several numbers. send_batch queues every recipient with the full configured gap, including known contacts. A batch to new people also uses the number's daily new-conversation budget.

The new-conversation budget

Every number carries a daily budget for conversations it starts, meaning people it has never talked to before. This limits new approaches. The send queue is a separate control: it also spaces messages to known contacts when they have not written in the last 24 hours.

Replying to someone who wrote to you first never spends it, and neither does a message to a group. Only a first approach does.

The budget grows as the number earns reputation. When you pair one we ask how long the line has really been in use, because WhatsApp never tells us, and we add the days we have watched since:

ReputationNew conversations a day
First week5
Weeks 2–410
After a month20

Spend it and sends to new people answer 429 with scope: "newConversations" until midnight. No plan lifts it: a bigger plan buys more numbers, and every number brings its own budget. You can still set a number's own limit, higher or lower, in its sending settings on the dashboard or with update_number. Go above this table and the risk of a ban is yours. A number WhatsApp has restricted drops back to the first row, loses any limit you set, and climbs again.

Warm up before volume

A freshly paired number has no reputation. Treat its first weeks as training: exchange real messages, let people reply, save contacts, join a group. Start at a handful of sends a day and grow weekly, not overnight. The numbers that die are the ones paired at noon and blasting by two.

Send like a human

  • Send during waking hours where the recipient lives. Nothing good happens at 3am.
  • Vary the wording between recipients. Fifty copies of the same sentence is the classic spam fingerprint.
  • Don't lead a cold message with a link.
  • Message people who expect to hear from you, and honor opt-outs immediately.

Read the warning signs

More failed deliveries, slower sends or a sudden LOGGED_OUT can mean a lost session or a restriction. Stop new sends and open WhatsApp on the phone. Temporary restrictions often clear after about an hour, but may take up to 24 hours. Follow the notice on the phone. Once you can send and receive messages normally, use Reconnect on Numbers and confirm recovery. There is no fixed 24-hour lock here. If the phone still shows a restriction or ban, do not keep trying to reconnect. Messages that have not left stay queued.

What we enforce anyway

Every send is metered against four ceilings: per key per minute, per account per day, per account per month, and the per-number new-conversation budget above. Bulk sends also require a paid plan. They are backstops, tuned below the paces that get numbers killed:

PlanMonthDayMinute (per key)
Free100204
Starter1,000608
Pro5,00025012
Scale20,00070020

When you hit one, the response says exactly which and when it clears. The errors guide decodes every code.