This page explains how rate limits work in InstaMessage.
There are two different types of limits you need to be aware of:
- API rate limits – how many API requests you can make in a short period of time
- Channel-specific messaging limits – rules enforced by messaging platforms (for example, WhatsApp)
Understanding both is important to avoid failed requests and delivery issues.
API rate limits control how many requests your account can make to the InstaMessage API over time.
These limits protect platform stability and ensure fair usage across customers.
InstaMessage applies rate limiting at multiple layers:
Account-level limits (primary)
Limits are enforced per account (based on your API key / account ID). This prevents one account from impacting others.Platform-wide protection (guardrail)
A site-wide safety limit may apply during spikes or abuse scenarios to protect the platform overall.
A single API request can send one message or trigger one action (for example, sending a message or starting a Journey).
Default limits are applied per account unless otherwise stated.
| API area / channel | Default rate limit (per account) |
|---|---|
| SMS | 30 requests per second |
| 30 requests per second | |
| Messenger | Subject to provider limits |
| RCS | 30 requests per second |
Limits may vary by account plan, use case, and channel.
When rate limiting is enabled, InstaMessage may include headers to help you manage throughput:
X-RateLimit-Limit– the maximum requests allowed in the current windowX-RateLimit-Remaining– requests remaining in the current windowX-RateLimit-Reset– when the current window resets (timestamp or seconds)Retry-After– how long to wait before retrying (returned on429)
If a header is not present, rate limiting may still apply (for example, platform-wide protection).
If you exceed your API rate limit:
- The request will fail
- The API will return
429 Too Many Requests - The request will not be queued for later execution
Example response:
{
"error": "rate_limit_exceeded",
"message": "Too many requests. Please retry after 2 seconds."
}You are responsible for handling retries and backoff logic in your application.
You may retry requests when:
- A request fails due to a transient network issue
- You receive a 5xx server error
- You receive a 429 Too Many Requests response
Best practice:
- Implement exponential backoff (with jitter)
- Use the Retry-After header when provided
- Avoid immediate retries in tight loops
- Spread high-volume sends evenly over time
Always ensure retries are idempotent to avoid duplicate actions. If you retry a message send, you should use your own idempotency strategy (for example, store a client-side request key and avoid sending the same message twice).
If you need to send at a higher rate (for example, high-volume SMS use cases), contact support to request a rate limit review.
Limits are reviewed based on:
- Use case
- Channel
- Delivery patterns
- Platform stability considerations
In addition to API rate limits, WhatsApp applies platform-level messaging limits enforced by Meta.
These limits control how many unique customers you can message in a rolling 24-hour period when sending business-initiated (template) messages.
These limits are not controlled by InstaMessage and apply regardless of API throughput.
A business-initiated conversation starts when:
You send a WhatsApp Template message
To a customer who has not messaged you in the last 24 hours
Each unique customer contacted in this way counts toward your daily messaging limit.
Once started, the conversation remains open for 24 hours.
WhatsApp assigns numbers (or business portfolios) to messaging tiers.
Typical tiers include:
| Tier | Approximate limit (unique customers / 24h) |
|---|---|
| Tier 1 | ~1,000 |
| Tier 2 | ~10,000 |
| Tier 3 | ~100,000 |
| Tier 4 | Higher / unrestricted (by Meta approval) |
WhatsApp assigns each number a quality rating (for example: High / Medium / Low).
Quality is influenced by:
- User blocks
- Complaints
- Engagement
- Template relevance
A high-quality rating can allow your messaging tier to increase. A low-quality rating may prevent growth or reduce limits.
Quality rating and tier upgrades are managed entirely by Meta.
Messages sent inside the 24-hour window:
- Do not count toward WhatsApp business-initiated limits
- Can be free-form (text, media, personalised)
- Are only limited by InstaMessage API rate limits
If you exceed your WhatsApp business messaging limit:
- New template messages may fail
- You will not be able to start new conversations until:
- Existing conversations expire, or
- Meta increases your tier
This can happen even if your API requests are within rate limits.
| Limit type | Controls |
|---|---|
| API rate limits | How fast you can send requests |
| WhatsApp messaging limits | How many unique users you can message (business-initiated) |
You must satisfy both to successfully send WhatsApp messages at scale.
- Throttle outbound traffic on your side
- Spread large sends over time
- Implement backoff + jitter for retries
- Monitor WhatsApp quality and engagement
- Always use opt-in recipients
- Use webhooks and Message Status API to track outcomes
- Rate limits are enforced primarily per account
- A platform-wide guardrail may apply during spikes or abuse
- InstaMessage does not queue API requests when you exceed rate limits
- InstaMessage does not override WhatsApp platform limits
- Messaging limits may change as Meta updates policies
- Contact support if you plan a significant increase in volume
- Learn how WhatsApp Templates work → WhatsApp Templates
- Understand WhatsApp rules → Getting Started – WhatsApp
- Track delivery outcomes → Delivery Receipts & Message Status
- Send messages safely → Send a Message