CR Bee Docs

Rate Limits

Request limits per endpoint and handling 429 errors

The API enforces rate limits to ensure fair usage and system stability. Limits are applied per API key using a sliding window algorithm.

Rate Limit Tiers

TierLimitEndpoints
catalog120 req/minSettings, locations, cars, categories, addons, features
quote30 req/minSingle quotes, availability check
bulk_quote10 req/minBulk quotes
session20 req/minSession CRUD, addon updates
coupon10 req/minCoupon validation
booking5 req/minCreate booking, cancel, send message
booking_lookup10 req/minGet booking by reference

Rate Limit Headers

Every API response includes rate limit information:

X-RateLimit-Limit: 120
X-RateLimit-Remaining: 115
X-RateLimit-Reset: 1715263200000
HeaderDescription
X-RateLimit-LimitMaximum requests allowed in the window
X-RateLimit-RemainingRequests remaining in the current window
X-RateLimit-ResetUnix timestamp (ms) when the window resets

Handling 429 Too Many Requests

When you exceed the rate limit, you'll receive a 429 response:

{
  "error": "Rate limit exceeded"
}

The response includes a Retry-After header with the number of seconds to wait:

Retry-After: 45

Best Practices

  • Respect Retry-After — Wait the specified time before retrying
  • Use bulk endpoints — Use POST /quotes/bulk instead of multiple POST /quotes calls
  • Cache catalog data — Settings, locations, and cars change infrequently; cache them client-side
  • Implement exponential backoff — If retries continue to fail, increase the wait time

On this page