WasenderAPI

API Documentation

WasenderApi WhatsApp API

Understanding Rate Limits

Rate Limits

Details on the rate limits applied to API requests based on subscription plans.

Understanding Rate Limits

To ensure fair usage, platform stability, and the safety of your WhatsApp numbers, WasenderAPI applies rate limits. Limits vary by plan, endpoint, and safety settings.

Rate Limit Headers

Every API response includes headers to help you monitor your usage:

  • X-RateLimit-Limit — maximum requests allowed in the current window.
  • X-RateLimit-Remaining — remaining requests before the limit is reached.
  • X-RateLimit-Reset — seconds until the limit resets.

Message Sending Rate Limits

These limits apply specifically to the Send Message endpoint:

Plan / Setting Rate Limit Reason
Trial Plan 1 request / minute Ensures fair access during trials and helps prevent free-account abuse.
Paid Plans
(Basic, Pro, Plus, Business)
256 requests / minute High-throughput messaging while protecting the platform from abuse and traffic spikes. If you need a higher limit for a legitimate use case, contact support.
Account Protection Enabled
(Any Plan)
1 request / 5 seconds Safety-first mode to reduce WhatsApp flag/ban risk. This setting overrides plan limits.

Other Endpoint Rate Limits

Some endpoints can be interpreted by WhatsApp as suspicious if called too frequently. To protect your account and keep the platform reliable, additional limits apply:

Endpoint / Action Rate Limit
Get group participants / metadata 10 requests / minute
Get contact picture 60 requests / minute
Check if a number is on WhatsApp 60 requests / minute

Daily Request Caps

In addition to per-minute limits, some endpoints have daily request caps. These caps exist to prevent abuse and reduce the risk of WhatsApp restrictions or bans.

Plan / Endpoint Daily Cap Important Notes
Trial – Send Message 50 requests / day Helps prevent free-account abuse and encourages safe usage during trials.
Get contact picture 1,000 requests / day Excessive usage may trigger WhatsApp anti-abuse systems and result in restrictions. Use only when necessary.
Check if a number is on WhatsApp 1,000 requests / day High-risk endpoint. Repeated calls have been observed to cause bans affecting both number checks and contact picture requests. Avoid automated or bulk usage.
Get group participants / metadata 500 requests / day High-risk endpoint. WhatsApp monitors group scraping heavily. Call this endpoint once per group and store the result in your database. Avoid polling or frequent refreshes.

Concurrent Request Limits (Global)

In addition to per-minute and daily rate limits, WasenderAPI enforces a global concurrent request limit across all endpoints.

This limit controls how many requests can be processed simultaneously per session. It exists because sending too many concurrent requests to WhatsApp — even within normal per-minute limits — has been observed to increase the risk of number bans.

Scope Limit Type Purpose
All Endpoints (Per Session) Concurrent request cap Prevents excessive parallel requests that may trigger WhatsApp anti-abuse systems, even if minute limits are respected.

How It Works

  • The limit applies globally across all endpoints.
  • It is enforced per session.
  • If too many requests are sent at the same time, additional requests will be rejected temporarily.
  • This protection applies regardless of your plan.

Important: Even if your plan allows 256 requests per minute, sending them all simultaneously may result in bans. Always queue requests and distribute them evenly.

High concurrency is one of the most common causes of WhatsApp number bans. We strongly recommend implementing a queue system with controlled parallelism (e.g., 1–5 concurrent workers per session).

Important: All limits are enforced per endpoint per session. Different endpoints have different thresholds.

Repeatedly hitting rate limits (or repeatedly triggering high-risk endpoints) may result in a temporary restriction of your API access while your usage is reviewed.

Parameters

NameTypeRequiredDescription
X-RateLimit-LimitintegerNoThe maximum number of requests allowed per time window.
X-RateLimit-RemainingintegerNoThe number of requests remaining in the current time window.
X-RateLimit-ResetintegerNoThe time in seconds until the rate limit resets.

Response Examples

{
  "message": "You are on a free trial. You can only send 1 message every 1 minute.",
  "retry_after": 60
}