Rate Limits
Understanding API rate limiting
The WebinOne API implements rate limiting to ensure fair usage and maintain service quality.
Rate Limits
Default rate limits per API application:
- Requests per minute: 100
- Requests per hour: 5,000
- Requests per day: 100,000
Rate Limit Headers
Each API response includes headers showing your current rate limit status:
X-RateLimit-Limit- Maximum requests allowedX-RateLimit-Remaining- Requests remaining in current windowX-RateLimit-Reset- Time when the limit resets (Unix timestamp)
Exceeding Rate Limits
If you exceed the rate limit, you'll receive a 429 Too Many Requests response:
{
"Message": "Rate limit exceeded",
"ErrorCode": 429,
"Details": {
"RetryAfter": 60
}
}
The Retry-After header indicates how many seconds to wait before retrying.
Best Practices
- Monitor rate limit headers in responses
- Implement exponential backoff for retries
- Cache responses when possible
- Batch operations where supported
- Use webhooks instead of polling
Increasing Limits
If you need higher rate limits, contact WebinOne support with details about your use case.
Code Examples
# Checking Rate Limit (JavaScript)
const response = await fetch(url, options);
const limit = response.headers.get('X-RateLimit-Limit');
const remaining = response.headers.get('X-RateLimit-Remaining');
const reset = response.headers.get('X-RateLimit-Reset');
console.log(`Remaining: ${remaining}/${limit}`);
if (remaining < 10) {
console.warn('Approaching rate limit!');
}