Skip to main content
Three independent limits protect the platform and your budget. All of them apply to the whole account: every API key of the account shares them, and more keys never raise them. Your current limits are in the plan object of GET /v1/account:
Need higher limits? Email support@fiveapi.ai with your account id and your expected volume.

Rate limit headers

Authenticated responses carry the state of the current minute window:
Every 429, and every 503 service_unavailable, also carries Retry-After: the number of seconds to wait before you retry.

Concurrent tasks

The concurrency cap counts the tasks of your account that are queued or processing right now. A task stops counting as soon as it reaches completed, failed or cancelled. When you hit the cap:
  • wait for running tasks to finish (Retry-After suggests a delay), or
  • cancel tasks you no longer need. Cancelling frees the slot and releases the credits at once.

Polling

GET /v1/tasks/{task_id} counts against the request limit like any other call, so a tight polling loop is the easiest way to hit 429 rate_limit_exceeded. On the standard plan (300 requests per minute): Poll each task every 5–10 seconds and back off to 30 seconds for long generations; a 429 tells you to wait Retry-After seconds. To follow more tasks, call GET /v1/tasks?status=processing (one request returns up to 100 tasks) or use webhooks, which need no polling at all.

Stay within the limits

  • Poll gently. Polling counts like any other request: poll each task every 5–10 seconds with backoff (see Polling), or let webhooks tell you.
  • Queue on your side. Keep your own queue of pending jobs and submit only while queued + processing tasks are below plan.max_concurrent_tasks.
  • Honor Retry-After on every 429 and 503, and retry with the same Idempotency-Key.
  • Watch X-RateLimit-Remaining and slow down before it reaches zero.