Overview
The NativeMessage API enforces rate limits to ensure fair usage and system stability. The default limit is 200 requests per minute per tenant.Rate limits apply per tenant account. Multiple API keys under the same tenant share the same rate limit pool.
Rate Limit Headers
Every API response includes rate limit information in the headers:
Example response headers:
Rate Limit Exceeded
When you exceed the rate limit, the API returns HTTP 429 with this response:X-RateLimit-Reset header tells you when you can resume requests.
Best Practices
1. Monitor Remaining Requests
CheckX-RateLimit-Remaining before making large batches of requests:
Node.js
Python
2. Use Bulk Endpoints
Send multiple messages in one request instead of individual calls: ❌ Inefficient (100 requests):3. Implement Exponential Backoff
When you hit rate limits, wait and retry with increasing delays:Node.js
Python
4. Queue Requests Client-Side
Implement a request queue to control throughput:Node.js
Enterprise Rate Limits
Need higher limits? Contact support for enterprise rate limit increases:- Standard: 200 requests/minute
- Professional: 500 requests/minute
- Enterprise: 2,000+ requests/minute
Rate Limit Calculation
Rate limits reset on a rolling window basis:Rate limits are enforced per tenant, not per API key. Using multiple keys under the same tenant does not increase your limit.