Skip to main content
apisale enforces three independent limits:

1. Organization concurrency

Maximum parallel runs per organization (statuses: pending, assigned, processing).
TierLifetime top-upsConcurrent runs
starter$010
growth≥ $35025
pro≥ $1,40050
scale≥ $7,000100
When exceeded:
HTTP 429 Too Many Requests

2. API key concurrency

Each key has max_concurrency (default 10). A single key cannot exceed its own cap even if the org has headroom. scope: "api_key" in the error body.

3. Rate limit

Each key has rate_limit_per_minute (default 120). Exceeding it returns:

Client recommendations

  1. Read X-Concurrency-Remaining on submit responses
  2. Poll GET /v1/account for proactive backoff
  3. Use exponential backoff on 429
  4. Distribute load across multiple keys only within org policy

Insufficient balance

Submitting a run with insufficient available_usd returns 400 with an insufficient balance message. Top up in the Console.