Skip to content

Rate Limits

The Translation API enforces per-key daily rate limits to ensure fair use.

How limits work

PlanDefault daily limit
Free5,000 requests / day
Solo100,000 requests / day
Team2,000,000 requests / day
Business10,000,000 requests / day
  • The counter resets at midnight UTC every day.
  • The counter is tracked per API key, not per IP.
  • Both live (/v1/translations/*) and cached (/v1/cached/translations/*) endpoint calls consume quota.

Grace zone

A 10% grace zone is applied above the hard limit. Requests between 100–110% of your limit are served but you will receive a warning header:

X-RateLimit-Warning: Approaching daily limit: 10450/10000 requests used

Requests above 110% return 429 Too Many Requests.

Handling 429 responses

json
{
  "detail": "Rate limit exceeded: 11100/10000 requests today"
}

Response headers:

HeaderValue
Retry-After86400 (seconds until midnight UTC reset)
X-RateLimit-LimitYour daily limit

Recommended handling:

js
if (response.status === 429) {
  const retryAfter = parseInt(response.headers.get('Retry-After') || '86400')
  console.warn(`Rate limited. Retry after ${retryAfter}s`)
  // Use cached data or graceful degradation
}
python
if response.status_code == 429:
    retry_after = int(response.headers.get('Retry-After', 86400))
    print(f"Rate limited. Retry after {retry_after}s")
    # Fall back to cached data

Tips to stay within limits

  • Use cached endpoints in production — they consume the same quota but serve from pre-built files, not the database.
  • Cache responses on your end — translations rarely change in real time. A 10-minute in-memory cache in your app can reduce calls by 99%.
  • Batch language fetchesGET /v1/translations/{language} returns everything at once. Don't fetch key-by-key.

i18nme is provided on a best-effort basis. While we strive for reliability and rapid issue resolution, no specific uptime, response time, or bug-fix timeframe is guaranteed.
Translation content and AI-generated output should be reviewed before production use.