Skip to content

Rate Limiting ​

The API uses a sliding window rate limiter per API key. The default limit is 60 requests per minute.

Response Headers ​

Every API response includes rate limit headers:

HeaderDescription
X-RateLimit-LimitMaximum requests per minute
X-RateLimit-RemainingRequests remaining in current window
X-RateLimit-ResetUnix timestamp when the window resets

Example:

http
HTTP/1.1 200 OK
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 42
X-RateLimit-Reset: 1700000060

Rate Limit Exceeded ​

When you exceed the limit, you'll receive HTTP 429:

json
{
  "success": false,
  "error": {
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded. Retry after 45 seconds."
  }
}

The Retry-After header tells you how many seconds to wait:

http
HTTP/1.1 429 Too Many Requests
Retry-After: 45

Best Practices ​

  • Cache responses when possible instead of making repeated identical requests
  • Use pagination to reduce the number of requests (fetch 100 items at once instead of 10)
  • Implement exponential backoff when retrying after a 429 response
  • Use webhooks instead of polling for real-time data (e.g., new leads, new messages)
  • Batch operations where possible to reduce total request count

Looma.chat — AI-powered e-commerce search & chat