Rate Limits and Ban Risk
Understand WhatsApp rate limits, safe automation defaults, and ban risk profiles.

Rate Limits and Ban Risk
WhatsApp enforces limits on message sending to prevent spam and abuse. Understanding these limits is critical for running automation safely.
WhatsApp Rate Limits
Messages Per Minute
WhatsApp enforces limits on how many messages you can send:
- Direct messages: Approximately 1 message per 10-30 seconds per chat
- Group messages: Approximately 1 message per 30-60 seconds per group
- Broadcast lists: Slower than direct messages
These are approximate limits observed by the community. WhatsApp does not publish official limits and they may change without notice.
What Triggers Rate Limits
- Sending many messages in a short time
- Sending identical messages to many contacts
- Sending messages to users who have not messaged you first
- High-volume sending from a new account
What Happens When You Exceed Limits
- Temporary block: WhatsApp may temporarily prevent you from sending messages
- Warning message: You may receive a warning about automated behavior
- Account restriction: Repeated violations can lead to longer restrictions
- Ban: Severe or repeated violations can result in permanent account ban
Safe Defaults for Automation
Message Timing
// Wait between messages
async function sendWithDelay(client, chatId, message, delay = 15000) {
await client.sendText(chatId, message);
await new Promise(r => setTimeout(r, delay));
}Random Delays
Add randomness to avoid detectable patterns:
function randomDelay(min = 5000, max = 15000) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
// Usage
await new Promise(r => setTimeout(r, randomDelay()));Queue-Based Sending
Use a queue to control sending rate:
import pQueue from 'p-queue';
const queue = new pQueue({
concurrency: 1, // One message at a time
interval: 15000, // Minimum 15 seconds between messages
});
queue.add(() => client.sendText(chatId, 'Message 1'));
queue.add(() => client.sendText(chatId, 'Message 2'));Ban Risk Profile
High Risk Behaviors
- New accounts: Accounts less than 30 days old are more likely to be flagged
- Bulk messaging: Sending the same message to many contacts
- Unsolicited messages: Messaging users who have not opted in
- Rapid sending: Sending messages faster than a human would
- Spam reports: Users reporting your messages as spam
Low Risk Behaviors
- Responding to incoming messages: Only replying when messaged first
- Aged accounts: Accounts with long history of normal use
- Varied timing: Random delays between messages
- Personalized content: Different messages for different contacts
- Opt-in contacts: Only messaging users who have consented
Risk Mitigation Checklist
- Use an aged WhatsApp account
- Only respond to incoming messages
- Add random delays between responses
- Vary message content and length
- Monitor for warning messages from WhatsApp
- Have a backup account ready
- Do not send bulk messages
- Respect user opt-out requests
Monitoring Your Account
Warning Signs
- Messages failing to send repeatedly
- Warning messages from WhatsApp
- Contacts reporting they cannot see your messages
- QR code requiring frequent re-scanning
What to Do If Restricted
- Stop automation immediately
- Wait 24-48 hours before trying again
- Reduce sending rate when you resume
- Review your automation patterns for aggressive behavior
- Consider using a different account for automation
Related
- AI Agent Patterns - Safe defaults for AI agents
- Best practices - Production checklist
- Security and deployment - Production security

Was this helpful?
Wally and his cute companion coffee mug are coding day and night to keep this up-to-date!
