Rate Limits
VardaCal API rate limits vary by plan tier to ensure fair usage and optimal performance for all users.
Rate Limit Tiers
| Plan | Rate Limit | Burst Limit | Monthly API Calls |
|---|---|---|---|
| Free | 60 requests/minute | 100 requests | 10,000 |
| Pro Solo | 300 requests/minute | 500 requests | 100,000 |
| Pro Team | 600 requests/minute | 1,000 requests | 500,000 |
| Platform | 3,000 requests/minute | 5,000 requests | 5,000,000 |
| White Label | Custom | Custom | Unlimited |
Rate Limit Headers
Every API response includes headers that provide information about your current rate limit status:
-
X-RateLimit-LimitThe maximum number of requests allowed per minute
-
X-RateLimit-RemainingThe number of requests remaining in the current minute
-
X-RateLimit-ResetThe Unix timestamp when the rate limit window resets
Example Response Headers
HTTP/1.1 200 OK
X-RateLimit-Limit: 300
X-RateLimit-Remaining: 297
X-RateLimit-Reset: 1706442420
Content-Type: application/json
Handling Rate Limits
When you exceed the rate limit, the API will return a 429 Too Many Requests response:
{
"error": {
"message": "Rate limit exceeded",
"status": 429
},
"meta": {
"retry_after": 45,
"limit": 300,
"reset_at": "2025-01-28T10:30:00Z"
}
}
Best Practices
- Cache responses when possible to reduce API calls
- Implement exponential backoff when receiving 429 responses
- Use webhooks for real-time updates instead of polling
- Batch operations when possible
- Monitor the rate limit headers to avoid hitting limits