Skip to main content

Rate Limiting

The JLR Data Hub API enforces rate limits to ensure fair usage and platform stability.

Rate limit headers​

Every response includes rate limit information:

HeaderDescription
X-RateLimit-LimitMaximum requests per time window
X-RateLimit-RemainingRequests remaining in current window
X-RateLimit-ResetTimestamp when the window resets

Exceeding the limit​

When you exceed the rate limit, the API returns 429 Too Many Requests:

{
"type": "/errors/rate-limit-exceeded",
"title": "Too Many Requests",
"status": 429,
"detail": "Rate limit exceeded. Retry after 60 seconds."
}

The response includes a Retry-After header indicating how many seconds to wait.

Best practices​

  1. Monitor headers - Track X-RateLimit-Remaining to stay within limits
  2. Implement backoff - Use exponential backoff when receiving 429 responses
  3. Cache responses - Cache vehicle data that doesn't change frequently
  4. Batch requests - Group related queries where possible