BerriAI/litellm · error · ProxyRateLimitError
Rate limit exceeded for {descriptor_key}: {descriptor_value}
Error message
Rate limit exceeded for {descriptor_key}: {descriptor_value}. Limit type: {rate_limit_type}. Current limit: {current_limit}, Remaining: {remaining_display}. Limit resets at: {reset_time_formatted} What it means
Error "Rate limit exceeded for {descriptor_key}: {descriptor_value}. Limit type: {rate_limit_type}. Current limit: {current_limit}, Remaining: {remaining_display}. Limit resets at: {reset_time_formatted}" thrown in BerriAI/litellm.
Source
Thrown at litellm/proxy/hooks/parallel_request_limiter_v3.py:2469
descriptor_value = matching_descriptor["value"] if matching_descriptor is not None else "unknown"
now = self._get_current_time().timestamp()
reset_time = now + self.window_size
reset_time_formatted = datetime.fromtimestamp(reset_time).strftime("%Y-%m-%d %H:%M:%S UTC")
remaining_display = max(0, status["limit_remaining"])
rate_limit_type = status["rate_limit_type"]
current_limit = status["current_limit"]
detail = (
f"Rate limit exceeded for {descriptor_key}: {descriptor_value}. "
f"Limit type: {rate_limit_type}. "
f"Current limit: {current_limit}, Remaining: {remaining_display}. "
f"Limit resets at: {reset_time_formatted}"
)
resolved_model, llm_provider = resolve_llm_provider_for_rate_limit(requested_model)
raise ProxyRateLimitError(
detail=detail,
headers={
"retry-after": str(self.window_size),
"rate_limit_type": str(status["rate_limit_type"]),
"reset_at": reset_time_formatted,
},
rate_limit_type=map_v3_rate_limit_type(status["rate_limit_type"]),
model=resolved_model,
llm_provider=llm_provider,
)
async def async_pre_call_hook(
self,
user_api_key_dict: UserAPIKeyAuth,
cache: DualCache,
data: dict,
call_type: str,
):View on GitHub (pinned to 77b7c6c40c)
Solutions
- Reduce request rate for the limited descriptor and retry after the reset time.
- Request a higher limit for the key/user/team from the admin.
When it happens
Trigger: Thrown at litellm/proxy/hooks/parallel_request_limiter_v3.py:2469 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18).
Data as JSON: /api/errors/ca24af5d52f6c21a.
Report an issue: GitHub.