The four things a 429 can mean
Same status code, four situations, two of which should never be retried. Error codes as documented by each vendor; a client has to read the body, not the status.
HTTP 429
Throttle
You exceeded a per-minute limit
OpenAI rate_limit_error
Anthropic rate_limit_error + retry-after
Gemini rate_limit_exceeded
Kimi rate_limit_reached_error
Bedrock ThrottlingException (429)
Azure "Rate limit is exceeded"
Retry after Retry-After, or back off
Acceleration
You ramped up too fast
OpenAI slow_down
Anthropic acceleration limits
Alibaba "Request rate increased too quickly"
Azure 1 s / 10 s window bursts
Slow the ramp, then retry
Quota or spend cap
Nothing frees up by waiting
OpenAI insufficient_quota, spend limits
Anthropic enforced_spend_limit_reached
Gemini quota_exceeded (daily)
Kimi exceeded_current_quota_error
Bedrock ServiceQuotaExceededException (400)
Do not retry: fix billing or wait for reset
Overload
The vendor's capacity, not yours
Kimi engine_overloaded_error (429)
OpenAI 503 server_is_overloaded
Anthropic 529 overloaded_error
DeepSeek 503
Bedrock 503, Vertex AI 429 shared pool
Azure "high demand", PTU at 100%
Retry with backoff
Sources: OpenAI, Anthropic, Gemini, Kimi, Alibaba, DeepSeek, Bedrock, Vertex AI and Azure OpenAI error and rate-limit pages, fetched 2026-09-03 and 2026-09-04.