Documentation / Rate Limiting

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 allowed
  • X-RateLimit-Remaining - Requests remaining in current window
  • X-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!');
}