Rate Limiting

API Rate Limiting and Throttling

API rate limiting and throttling are essential mechanisms to control the amount of incoming requests to a server, ensuring the stability and reliability of the API for all users.

Note: It's crucial for developers to be aware of rate limits and to implement proper error handling in their client applications. Proper communication and documentation can alleviate potential frustrations.

Rate Limiting Basics

Rate limiting controls the number of requests a client can make to an API within a specific time period.

Throttling Basics

Throttling, on the other hand, controls the request rate by allowing requests to come in at a steady pace, potentially delaying processing to avoid server overloads.

Rate Limiting and Throttling Policies

Policy NameDescriptionLimit
User-Level LimitLimits based on individual user's API token.10,800 requests per hour
IP-Level LimitLimits based on the IP address of the incoming request, regardless of the user.5000 requests per hour
Endpoint-Level LimitSpecific high-cost endpoints might have stricter limits.Varies by endpoint, typically 300 requests per hour
Burst LimitAllows for small bursts of requests above the normal limit for short periods.600 requests per minute

Headers and Response Codes

Our APIs return specific headers and codes to inform the client about their current rate limit status:

  • X-RateLimit-Limit: The maximum number of requests allowed in the current time window.
  • X-RateLimit-Remaining: The number of requests remaining in the current time window.
  • X-RateLimit-Reset: The time at which the current rate limit window resets in UTC epoch seconds.

Common HTTP Status Codes:

HTTP CodeDescription
429Too Many Requests – Rate limit exceeded
503Service Unavailable – Servers are overloaded