Skip to content

API Rate Limits

← General

A rate limit is a policy that restricts how frequently an API endpoint can be called within a given time window. SIPSTACK applies rate limits to protect platform infrastructure from abuse and to maintain consistent performance for all users.

API requests are categorized into four policies, each with a different limit:

PolicyRate LimitThrottle Window
Light50 requests/minute60 seconds
Medium40 requests/minute60 seconds
Heavy10 requests/minute60 seconds
Auth5 requests/minute0 seconds

If you exceed the limit for a given policy, the server returns HTTP 429 Too Many Requests. The Retry-After response header specifies how many seconds to wait before retrying.

Every API response includes rate limit headers (unless the endpoint is unlimited):

HeaderDescription
X-Rate-Limit-PolicyThe policy category for this request (Light, Medium, Heavy, Auth)
X-Rate-Limit-LimitThe maximum number of requests allowed in the current window
X-Rate-Limit-RemainingRequests remaining in the current window
X-Rate-Limit-WindowThe window duration in seconds

Example response headers:

HTTP/1.1 200 OK
X-Rate-Limit-Policy: light
X-Rate-Limit-Limit: 50
X-Rate-Limit-Remaining: 49
X-Rate-Limit-Window: 60
Content-Type: application/json; charset=UTF-8
  1. Monitor X-Rate-Limit-Remaining in each response.
  2. When it reaches 0, pause for the number of seconds specified in X-Rate-Limit-Window.
  3. If you receive a 429 response, wait for the number of seconds in the Retry-After header before retrying.

If the API returns HTTP 503 Service Unavailable:

  1. Wait a default retry interval (e.g., 5–10 seconds).
  2. Retry once.
  3. If the retry also fails, implement exponential backoff with a configurable maximum number of retries.