Quick answer
Kimi's API applies per-key rate limits, usually measured in requests and tokens per minute, separate from the coding-plan quota. A 429 means you are sending too fast, not that your plan is exhausted. Read the response headers and back off with exponential delay instead of retrying immediately.
Two different limits
| Coding plan quota | API rate limit | |
|---|---|---|
| Scope | Account subscription | Per API key or project |
| Unit | Usage over a window | Requests and tokens per minute |
| Error | Quota exhausted | HTTP 429 |
| Recovery | Wait for the window | Back off and retry |
| Billing | Plan price | Per token |
Handle a 429
- Read the error body and any retry-after header.
- Pause rather than retrying in a tight loop.
- Add exponential backoff with jitter.
- Reduce concurrency; parallel calls multiply the rate.
- Batch or cache requests that repeat.
delay = base * 2^attempt + random_jitter
if status == 429: sleep(delay); retryWatch the right number
- Track requests per minute against the published limit.
- Track tokens per minute, which is usually the tighter constraint.
- Log 429s with the endpoint so you can see the pattern.
- Keep concurrency low enough that a retry does not cascade.
Coding-plan users who also script the API should keep the two budgets separate. UsageAtlas tracks the coding side; the API console tracks the key.
Measure the limit you are hitting
Most 429s are caused by tokens per minute rather than requests per minute, because one long prompt can carry more input than fifty small ones. Log both numbers with every error, or you will tune the wrong setting.
log: endpoint, model, input_tokens, output_tokens, status, retry_afterKeep concurrency low enough that one retry storm cannot exhaust the limit again. The rate limits guide compares how other tools meter the same thing.
Questions, answered
Is a Kimi 429 the same as running out of quota?
No. A 429 means the request rate is too high. Quota exhaustion usually reports differently and lasts until the window resets.
Are rate limits per key or per account?
Limits apply per key or project depending on the account setup. Multiple keys do not necessarily multiply the allowed rate.
How do I avoid 429s in an agent?
Lower concurrency, add backoff with jitter, and cache repeated calls. Most 429 storms come from parallel retries.