Rate limits
Rate limits apply per API key — RPM and concurrency — not to your total token volume.
Per-key limits
| Limit | Value |
|---|---|
| Requests per minute | 100 rpm |
| Concurrency | 5 concurrent requests |
| Tokens per minute | 2M tpm (language models) |
Embedding and speech models have their own request limits. See Models. GLM 5.2 is an add-on with its own limits and its own allowance, further down this page.
Web search
The web search tool (/v1/search) has its own limits, separate from your chat token budget:
| Limit | Value |
|---|---|
| Requests per minute | 60 rpm |
| Searches per day | 3,000 / day |
| Concurrency | 10 concurrent requests |
Exceed any of these and the endpoint returns 429 with a Retry-After header. Repeated identical queries within ~15 minutes are served from cache and don’t hit an upstream provider, but still count against your rate and daily quota. See the API Reference for the full request and response shape.
Monthly volume
Efficient open models are unlimited on every plan — the largest frontier-class models count against a monthly quota that scales with your plan:
| Plan | Monthly quota |
|---|---|
| Starter | 2.5B tokens |
| Growth | 7.5B tokens |
| Scale | 20B tokens |
| Enterprise | Custom |
If you exceed your quota, we contact you before charging for the overage. See Pricing for the full breakdown.
GLM 5.2
GLM 5.2 is a per-key add-on at €150 a month, and no plan covers it. It carries its own per-key limits:
| Limit | Value |
|---|---|
| Requests per minute | 100 rpm |
| Concurrency | 5 concurrent requests |
| Tokens per minute | 3M tpm |
| Context | 500K per request |
Its monthly allowance belongs to your organisation and is shared across every key with GLM 5.2. It is separate from the quota above and never draws from it:
| Plan | GLM 5.2 tokens a month |
|---|---|
| Starter | 2B tokens |
| Growth | 6.5B tokens |
| Scale | 18B tokens |
When the allowance runs out, GLM 5.2 pauses until the next billing cycle and everything your plan covers keeps answering. There are no overage charges here: you cannot spend more than you contracted. See Models.
Handling 429
When you exceed a limit, the API returns 429 Too Many Requests. Back off and retry. Most OpenAI SDKs already do this for you with exponential backoff — the Retry-After header tells you how long to wait.
# the OpenAI SDK retries 429s automatically — tune the count if needed
client = OpenAI(
base_url="https://api.helmcode.com/v1",
api_key="sk-your-key-here",
max_retries=5,
)
Need higher limits?
High-demand workloads can get higher RPM and pooled concurrency on request. Dedicated and Enterprise plans also run on hardware reserved for you, with guaranteed throughput. Talk to us.