Kimi Code

Kimi API rate limits

How Kimi API rate limits differ from coding-plan quota, which limits apply per key, and how to handle a 429 without wasting tokens.

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 quotaAPI rate limit
ScopeAccount subscriptionPer API key or project
UnitUsage over a windowRequests and tokens per minute
ErrorQuota exhaustedHTTP 429
RecoveryWait for the windowBack off and retry
BillingPlan pricePer token

Handle a 429

  1. Read the error body and any retry-after header.
  2. Pause rather than retrying in a tight loop.
  3. Add exponential backoff with jitter.
  4. Reduce concurrency; parallel calls multiply the rate.
  5. Batch or cache requests that repeat.
delay = base * 2^attempt + random_jitter
if status == 429: sleep(delay); retry

Watch 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_after

Keep 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.

Browse by topic