Zum Inhalt springen

Rate Limits

Dieser Inhalt ist noch nicht in deiner Sprache verfügbar.

The public API applies rate limits in two layers, both scoped to /api/v1:

  1. Pre-auth, per-IP — a conservative, flat limit applied before your key is even verified. This exists purely to blunt brute-force/credential-stuffing traffic against the authentication path itself.
  2. Post-auth, per-key — the limit that matters day to day. It’s scoped to your API key and tiered by your organization’s plan.

Limits are set per route class, not per individual endpoint, to keep the limit predictable across our curated surface:

ClassApplies to
readGET/HEAD requests
searchAny route whose fixed path pattern includes /search
writeEverything else (POST, PUT, PATCH, DELETE)

Classification is based on the registered route pattern, never on the raw request URL or query string, so it can’t be gamed by appending arbitrary query parameters.

Tierreadsearchwrite
sandbox301510
free603020
starter1206040
growth300150100
plus600300200
pro1200600400
scale300015001000
enterprise600030002000

Your tier is derived from your organization’s plan automatically — there’s nothing to configure. A sandbox-environment key always uses the sandbox tier, regardless of your live organization’s actual plan.

The pre-auth IP limit is a flat 120 read / 60 search / 30 write requests per minute, identical for every caller — it exists only to protect the auth path, not to enforce per-plan fairness.

Every response from /api/v1 includes:

RateLimit-Limit: 120
RateLimit-Remaining: 117
RateLimit-Reset: 1784178600
  • RateLimit-Limit — the max requests allowed in the current window.
  • RateLimit-Remaining — requests left in the current window.
  • RateLimit-Reset — Unix timestamp (seconds) when the window resets.

When a request is rejected for being over the limit, the response also includes:

Retry-After: 42
StatusMeaning
429 RATE_LIMIT_EXCEEDEDOver the limit for your tier/route class
503 RATE_LIMITER_UNAVAILABLEThe rate limiter itself is unavailable
  • Read RateLimit-Remaining and slow down proactively — don’t wait for a 429.
  • On 429 or 503, respect Retry-After before retrying; use exponential backoff with jitter for repeated failures.
  • If you’re consistently hitting your tier’s limit, upgrading your plan raises the ceiling — no separate “API add-on” is required.
v1.16.0

Google Sheets sync operations use Google’s Sheets API, which has its own quota separate from the clienta.ai API rate limits:

  • Project-wide limit: 250 requests/minute across all organizations
  • Per-org fairness: Maximum 3 concurrent sync jobs per organization
  • Backoff: 429 responses from Google trigger exponential backoff automatically
  • No action needed: These limits are managed server-side. If your sync is slow during peak usage, it will complete — just more slowly.