Flixu

Rate Limits

The Flixu API enforces per-minute rate limits based on your subscription plan. Rate limits protect service quality for all users and ensure fair resource allocation.

Limits by plan

PlanTranslations/minSegments/minAnalysis/minTotal API/min
Free105530
Starter603030120
Professional30060100600
EnterpriseCustomCustomCustomCustom

:::note Enterprise rate limits are configured per organization. Contact sales to discuss your throughput requirements. :::

Rate limit headers

Every API response includes rate limit headers:

HeaderDescription
X-RateLimit-LimitMaximum requests allowed per minute
X-RateLimit-RemainingRequests remaining in the current window
X-RateLimit-ResetSeconds until the rate limit window resets
HTTP/1.1 200 OK
X-RateLimit-Limit: 300
X-RateLimit-Remaining: 297
X-RateLimit-Reset: 42

Handling rate limits

When you exceed the rate limit, the API returns a 429 Too Many Requests response:

{
  "error": {
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded. Check X-RateLimit-Reset header for retry timing.",
    "type": "rate_limit_error",
    "request_id": "a1b2c3d4-..."
  }
}
  1. Check the X-RateLimit-Reset header for the exact wait time
  2. Wait the specified number of seconds
  3. Retry the request
async function fetchWithRateLimit(url, options) {
  const response = await fetch(url, options);

  if (response.status === 429) {
    const resetAfter = parseInt(response.headers.get('X-RateLimit-Reset') || '60');
    console.log(`Rate limited. Retrying in ${resetAfter}s...`);
    await new Promise(resolve => setTimeout(resolve, resetAfter * 1000));
    return fetch(url, options);
  }

  return response;
}

Best practices

  • Implement backoff — Use exponential backoff with jitter for retries. Never retry immediately.
  • Cache responses — Cache translation results on your side to avoid redundant API calls.

Checking your limits

Use the GET /v1/quota endpoint to see your current rate limits:

curl https://api.flixu.ai/v1/quota \
  -H "Authorization: Bearer flx_your_api_key"

The rate_limits object in the response shows your plan-specific limits.