As of October 2026, the Moonshot open platform behind Kimi has no free API tier that you can rely on long term. New users receive a small amount of trial credit after identity verification, and accounts without a top-up remain on Tier0, where rate limits are tightest. Putting trial quota into production is the most common misjudgment with this kind of plan.

This article discusses only the open-platform API, not the Kimi web app or membership. Platform documentation has moved to platform.kimi.com, while the domestic API domain is still commonly api.moonshot.cn. The details below reflect the official pages as of October 2026.

Note: Moonshot and Kimi are trademarks of their respective owners. This article has no affiliation, agency or partnership with Moonshot AI. The rules mentioned here follow the official pages.

1. The conclusion: it is a trial, not a free tier

Three facts need to be clear from the start.

First, the official pricing page currently lists usage-billed models such as kimi-k3, kimi-k2.7-code and kimi-k2.6, with no model marked as free. The file API (content extraction and file storage) is free for a limited time, but the extracted content still consumes tokens when used as model input.

Second, users who complete identity verification can claim a 15 yuan credit. Verified users on the China site cannot use it to call K3; the page says a top-up is required first. Whether the credit covers other models and when it expires follow the claim page.

Third, the credit does not count toward the cumulative top-up total. The platform's rate tier is based on cumulative top-up, so using credit does not raise your tier. This is why "free quota" and "paid quota" do not deliver the same experience in concurrency and RPM.

2. Four hard limits on Tier0

Accounts without a top-up are on Tier0. The official rate-limit documentation gives the entry-level limits below. The numbers may change, so check the original before testing.

Metric Official documentation Practical impact on development
Concurrency 1 Requests cannot run in parallel; a slightly slow call blocks later tasks
RPM 3 Only 3 requests per minute; one failed retry can exhaust it
TPM 500,000 A single long-document request may consume a large share
TPD 1,500,000 A daily token cap; batch jobs hit it easily

When RPM is only 3, the SDK's default retry policy amplifies the problem. The OpenAI SDK retries automatically twice by default, so one failed call may actually send three requests, each counting toward RPM. For a Tier0 account, a single 429 can consume the entire minute's quota.

Paid tiers usually remove the daily token cap, but TPM, concurrency and RPM still exist. The higher the tier, the wider the limits; the exact thresholds follow the official rate-limit page. The platform may also throttle temporarily when the cluster is under heavy load. Accounts judged to be behaving abnormally trigger risk-control throttling, and the official documentation states that this restriction cannot be removed once triggered. Architecturally, you therefore cannot assume that "paying means never being throttled."

3. Where free quota usually falls short

Beyond the numbers in the table, four limits are easy to overlook.

  1. Validity period: Trial credit usually has an expiry date and does not convert into a balance.
  2. Model coverage: The credit does not necessarily cover every model; K3 is explicitly excluded.
  3. Site and key: Accounts and keys on the domestic site platform.kimi.com and the international site platform.kimi.ai are not interchangeable, and mixing them returns 401.
  4. Balance and error type: Both insufficient balance and rate limiting can return 429, but the error.type differs. exceeded_current_quota_error requires a top-up, rate_limit_reached_error requires slowing down or raising the tier, and engine_overloaded_error is a service-capacity issue that a top-up will not solve.

Do not retry every 429. Check error.type first, then decide whether to retry, reduce concurrency or top up.

4. Data terms: do not assume trial data is confidential

The platform agreement (August 31, 2026 version) states that users grant the platform a free right to use input and output content and feedback for model service optimization within the scope permitted by law. The agreement text does not offer an opt-out for individual accounts. The privacy policy also states that data is stored in mainland China and is not transferred overseas without separate consent.

Enterprise customers can apply for zero data retention (ZDR). When enabled, request content is used only for the current inference and is deleted after the response returns; enterprise data is not used for model training. But ZDR has clear boundaries: Batch API, images or videos uploaded through the file API, Hosted Agents, operational data such as security logs and billing, and third-party services are all outside its coverage. ZDR must be enabled by the business team on request; it is not a default switch in the console.

During the trial stage, therefore, do not put customer contracts, personal information, unpublished code or financial data into the service. When sensitive data is involved, have legal and security review the agreement and ZDR terms first. Do not skip review on the grounds that "it is only a test."

5. What the free API is good for

Within the quota, the following tasks are reasonable.

  • API integration testing: Verify the Base URL, authentication, streaming output and error handling, and confirm that the SDK works end to end.
  • Small-sample evaluation: Compare prompts and models with 10 to 30 real tasks, without aiming for statistical significance.
  • Low-concurrency internal tools: Personal scripts, one-off document summaries, meeting-note drafts.
  • Long-document workflow validation: Use the file API for extraction first, then test chunking, citations and structured output.
  • Initial latency measurement: Record time to first token and total duration to decide whether streaming and timeout policies are needed.

The common thread is that failures can be rerun, results are reviewed by a person, and nothing goes directly to customers.

6. Tasks that should not use free quota

  • Production traffic: Tier0 concurrency and RPM cannot support real users, and temporary throttling comes with no compensation mechanism.
  • Customer data: The default terms allow input and output to be used for service optimization, so trial accounts are unsuitable for confidential content.
  • Batch jobs: TPD is reached first; Batch API is a paid capability and is outside ZDR coverage.
  • High-concurrency services: With concurrency of 1, requests can only queue, and latency is unpredictable.
  • Systems that need an SLA: The standard agreement gives no availability commitment and disclaims liability for maintenance interruptions.
  • Systems that depend on old models: The moonshot-v1 series and some older K2 models have been retired, so migration cost must be budgeted in advance.

One more common risk: putting a trial key in frontend code or a repository. If the key leaks, someone else may consume the quota. Manage keys carefully even during the trial period.

7. From trial to paid: the upgrade path

Once validation passes, upgrading usually happens in three steps.

  1. Top up to raise the tier: The rate tier is based on cumulative top-up. After topping up, concurrency, RPM and TPM increase; the exact tiers follow the official rate-limit page.
  2. Enterprise verification and corporate payment: When you need a contract, invoicing or permission management, complete enterprise verification and pay by corporate transfer or online top-up. Invoicing, budgeting and member permissions differ from a personal account.
  3. Request higher quotas and ZDR: If you have peak concurrency, data-compliance or SLA requirements, prepare monthly usage, peak concurrency, scenarios and a growth plan, then discuss them with the business team and write the commitments into the contract or an attachment.

If the team needs multi-model switching, unified billing or a backup channel, it can also evaluate an OpenAI-compatible AI gateway. Every additional layer adds a dependency, so validate it on a small scale as well.

8. A reproducible validation run

Do not conclude from a vague feeling that "it seems to work." Run the following steps before deciding whether to top up.

  1. Prepare 10 to 30 real tasks and document the quality, format and citation requirements.
  2. Quantify input with the platform's token estimation endpoint; do not guess from character counts.
  3. Record target concurrency, peak RPM and average daily tokens, and compare them with Tier0 limits.
  4. Disable SDK automatic retries and control retry count and backoff yourself.
  5. Log the input, output, duration, error.type and retry count for every request.
  6. Set a test token budget, stop when it is used up, and then calculate cost per task.
import os
import time
from openai import OpenAI, RateLimitError

client = OpenAI(
    api_key=os.environ["MOONSHOT_API_KEY"],
    base_url="https://api.moonshot.cn/v1",
    max_retries=0,  # control retries manually; avoid the default 2 retries silently consuming RPM
)

BUDGET = 200_000  # team-defined test ceiling, not an official quota
used = 0

def ask(prompt: str) -> str:
    global used
    if used >= BUDGET:
        raise RuntimeError("Test budget exhausted")
    try:
        resp = client.chat.completions.create(
            model="kimi-k2.6",
            messages=[{"role": "user", "content": prompt}],
            max_completion_tokens=512,
        )
    except RateLimitError as exc:
        body = exc.response.json().get("error", {})
        print("429 type:", body.get("type"))  # handle throttling, capacity overload and insufficient balance separately
        time.sleep(5)
        return ""
    used += resp.usage.total_tokens
    return resp.choices[0].message.content

This code is only an example of budgeting and error classification; it is not rate-limit advice. A real stress test should be designed around target concurrency, and you should first confirm that the platform terms permit it.

FAQ

Does Moonshot have a permanently free API?

As of October 2026, there is no free API tier that can be treated as a long-term commitment. The platform offers verified-user credit, but it is a trial with model and time limits. Whether new promotions exist follows the official pages.

Can the 15 yuan credit be used with every model?

No. Verified users on the China site cannot use it to call K3, and whether other models are covered depends on the claim page. Do not assume the credit works across all models.

Can Tier0 support production?

No. Concurrency of 1, 3 RPM and a daily token cap are suitable only for integration testing and small-sample evaluation. Production requires a top-up and a higher tier, along with rate-limit handling, retries and fallbacks.

Is trial data used for training?

The default agreement allows the platform to use input and output for model service optimization within the scope of the law. Enterprises can apply for ZDR, but there are exceptions such as Batch, file uploads and Hosted Agents. Sensitive data should go through compliance review first.

What happens when the trial quota runs out?

It may return 429 or 403, depending on the entry point and scenario. Check error.type first: insufficient balance requires a top-up, throttling requires slowing down or raising the tier, and capacity overload can only be handled with backoff and retries.

Next steps

If your integration testing and small-sample evaluation have passed and you need stable calls, RMB billing and a unified multi-model entry point, you can register with the ZSQH AI Gateway and run a small test. Models, prices and availability follow the model pricing page.

Related reading: