Rate Limiting
Zavu implements rate limiting to ensure fair usage and protect the platform from abuse. All API requests to/v1/* endpoints are subject to rate limiting.
Rate Limit Tiers
Your rate limit depends on your project’s verification status:Rate limits are applied per project. If you have multiple projects, each has its own independent rate limit.
How to Increase Your Limit
1
Complete Compliance Verification
Submit your business information and use case in the dashboard under Settings > Compliance. Once verified, your limit automatically increases to 1,200 requests/min (2x).
2
Register for 10DLC (US Numbers)
If you’re sending SMS to US recipients, register your brand and campaign for 10DLC compliance. Approved campaigns receive 2,400 requests/min (4x).
Rate Limit Headers
Every API response includes headers to help you track your rate limit usage:Checking Rate Limits with the SDK
Use.withResponse() to access the rate limit headers:
Rate Limit Exceeded (429)
When you exceed the rate limit, the API returns a429 Too Many Requests response:
Handling Rate Limits
Here’s how to properly handle rate limiting in your application:How It Works
Zavu uses a fixed window algorithm for rate limiting:Best Practices
Monitor Headers
Always check
X-RateLimit-Remaining to avoid hitting limits unexpectedly.Implement Backoff
Use the
Retry-After header or retryAfter field to wait the correct amount of time.Use Broadcasts
For bulk sending, use our Broadcasts API instead of individual requests.
Use Idempotency Keys
Include
idempotencyKey in requests to safely retry without duplicates.Bulk Sending Example
For sending many messages, implement a simple rate limiter:Summary
Next Steps
Compliance Verification
Learn about compliance requirements
Broadcasts API
Send to many recipients efficiently
