Details on the rate limits applied to API requests based on subscription plans.
Understanding Rate Limits
To ensure fair usage, service stability, and the safety of your account, WasenderAPI applies rate limits. The specific limit depends on your plan and settings.
Rate Limit Headers
Every API response includes the following headers to help you track your usage:
X-RateLimit-Limit: The maximum number of requests allowed in the current window.X-RateLimit-Remaining: The number of requests left before hitting the limit.X-RateLimit-Reset: The Unix timestamp (in seconds) when your limit resets.
Message Sending Rate Limits
The following limits are applied specifically to the endpoint for sending messages.
| Plan / Setting | Rate Limit | Reason |
|---|---|---|
| Trial Plan | 1 request per minute | Ensures fair access for all trial users. |
| Paid Plans (Basic, Pro, Plus,Enterprise) |
256 requests per minute | A high-volume limit to protect the service from abuse and ensure stability for all users. If you have a legitimate need for a higher rate, please contact support. |
| Account Protection Enabled (Any Plan) |
1 request per 5 seconds | A crucial safety feature to protect your WhatsApp number from being flagged or banned. This limit overrides any other plan limits. |
Other Endpoint Rate Limits
Certain actions, such as checking if a phone number exists on WhatsApp, can be flagged as suspicious by WhatsApp if performed too frequently. To protect your account and ensure our infrastructure's stability, the following limits are also in place:
| Endpoint / Action | Rate Limit |
|---|---|
| Get group participants or metadata | 10 requests per minute |
| Get contact picture | 60 requests per minute |
| Check if a number is on WhatsApp | 60 requests per minute |
⚠️ Repeatedly hitting rate limits may lead to a temporary suspension of your API access while your usage is reviewed.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| X-RateLimit-Limit | integer | No | The maximum number of requests allowed per time window. |
| X-RateLimit-Remaining | integer | No | The number of requests remaining in the current time window. |
| X-RateLimit-Reset | integer | No | The time in seconds until the rate limit resets. |
| Content-Type | string | No | Usually `application/json`. |
Response Examples
{
"message": "You are on a free trial. You can only send 1 message every 1 minute.",
"retry_after": 60
}