1. Get Started
Chronox Public APIs
  • Get Started
    • Introduction
    • Authentication
    • Rate limiting
  • Get User Details
    GET
  • Get Meta Integration
    GET
  • Get Whatsapp Templates
    GET
  • Get Whatsapp Template Details
    GET
  • Get Whatsapp Template Category
    GET
  • Get Whatsapp Languages
    GET
  • Get Whatsapp Template Type
    GET
  • Get Whatsapp Template Interactive Type
    GET
  • Get Whatsapp Template Header Type
    GET
  • Get Whatsapp Template Button Type
    GET
  • Get Whatsapp Template Dynamic Variable Type
    GET
  • Create Whatsapp Template
    POST
  • Send Whatsapp Message
    POST
  • Send Whatsapp Template
    POST
  • Get Inbox Data
    GET
  • Get Thread Details
    GET
  • Schemas
    • Thread Execution Data
  1. Get Started

Rate limiting

To keep the API fast and reliable for everyone, Chronox limits how many requests each API key can make in a short period. This is called rate limiting.
If you stay within the limit, you'll never notice it. If you send too many requests too quickly, the API asks you to wait before trying again.

The limit#

Limit30 requests per minute
Counted perAPI key
Applies toEvery endpoint in this API
The minute starts with your first request. Once the minute is up, the count starts again from zero.
Each API key has its own limit. If your workspace has a higher limit arranged with Chronox, that limit is shared by all the keys in your workspace.
INFO
Using the Chronox dashboard doesn't count towards your API key's limit. Only requests made with an API key are counted.

What happens if you go over the limit#

When you go over the limit, that request is refused and your key is paused for a short time. While it's paused, every request made with that key is refused.
The response has the HTTP status 429 Too Many Requests and looks like this:
{
  "status": false,
  "error": {
    "code": 9999,
    "message": "API key rate limit exceeded. Please try again later.",
    "retry_after_seconds": 200
  }
}
retry_after_seconds tells you how many seconds to wait before your key works again.

How long you have to wait#

The first pause lasts 200 seconds (just over 3 minutes). If you keep going over the limit soon after a pause ends, each new pause is twice as long as the last one, up to a maximum of 30 minutes.
Time over the limitWait
1st200 seconds (about 3 minutes)
2nd400 seconds (about 7 minutes)
3rd800 seconds (about 13 minutes)
4th1,600 seconds (about 27 minutes)
5th and after30 minutes
If your key stays within the limit for a while after a pause, the wait goes back to the shortest time.
TIP
Sending more requests during a pause won't make the pause longer, but none of them will work. The best thing to do is wait for the number of seconds in retry_after_seconds, then try again.

Keeping track of your usage#

The API doesn't tell you how many requests you have left in the current minute. If your software sends a lot of requests, keep count on your side and slow down before you reach 30 a minute.

Handling a 429 response#

If your software might go over the limit, have it check for a 429 response, wait, and then try again. The examples below show one way to do this.
JavaScript
Python

Tips for staying within the limit#

Spread requests out. If you need to send many messages, send them at a steady pace rather than all at once.
Save results you use often. The WhatsApp template lookup lists (categories, languages, button types and so on) rarely change. Fetch them once and reuse them instead of asking again for every template.
Don't check for changes too often. If you check the inbox for new messages, a few times a minute is usually enough.
Use separate keys for separate systems. Each key has its own limit, so your website and your CRM won't use up each other's requests, unless your workspace has a shared limit.
NOTE
Need a higher limit? Contact Chronox support to discuss your usage.

What this page doesn't cover#

WhatsApp's own sending limits. Meta limits how many customers your WhatsApp Business account can message per day, based on your account's quality and history. That limit is set by Meta, not Chronox, and applies no matter how you send messages.
Other errors. See Errors for everything else the API can return.
Modified at 2026-09-16 12:22:20
Previous
Authentication
Next
Get User Details
Built with