Skip to content

Rate Limiting

The Arctic Tern Headless API implements rate limiting to ensure a stable service.

Rate Limit Details

  • Default Limit: 60 requests per minute
  • Scope: Global (applies to all requests from all API keys combined)
  • Excluded Endpoints: The /health/ endpoint is not rate limited

How It Works

Rate limits are enforced by counting the number of requests per minute, and lines up with when the first request that minute is made, not by checking clock time. When you exceed the rate limit, subsequent requests will receive a 429 Too Many Requests response until the next minute window begins.

Rate Limit Headers

All API responses include headers that provide information about your current rate limit status:

  • X-RateLimit-Limit: The maximum number of requests allowed per minute
  • X-RateLimit-Remaining: The number of requests remaining in the current minute window

Example Headers

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 42

These headers are included in all responses, including successful requests (2xx), rate-limited requests (429), and error responses.

Rate Limit Response

When you exceed the rate limit, you'll receive:

Status Code: 429 Too Many Requests

Response Body:

{
  "detail": "Too many requests."
}

Best Practices

  1. Implement Backoff: When you receive a 429 response, wait before retrying
  2. Cache Responses: Cache API responses where appropriate to reduce request volume
  3. Monitor Your Usage: Keep track of your request patterns to stay within limits
  4. Contact Support: If you need a higher rate limit, contact engineering@performid.com

Health Endpoint Exception

The /v1/health/ endpoint is exempt from rate limiting.