Skip to main content

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:
The X-RateLimit-Reset header tells you when you can resume requests.

Best Practices

1. Monitor Remaining Requests

Check X-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):
✅ Efficient (1 request):

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
Email [email protected] with your use case and estimated traffic.

Rate Limit Calculation

Rate limits reset on a rolling window basis:
Each request “expires” from the count 60 seconds after it was made.
Rate limits are enforced per tenant, not per API key. Using multiple keys under the same tenant does not increase your limit.