Skip to main content

Rate Limit Overview

Rate limits control how many requests you can make per minute. Limits are applied per user account, not per API key.

Rate Limit Tiers

Free Trial

10 requests/minDefault for new accounts

Starter Plan

20 requests/min$49/month subscription

Growth Plan

50 requests/min$299/month subscription

Pay-as-you-go

100 requests/minNo subscription required

Hybrid

100 requests/minSubscription + PAYG

Enterprise

Custom limitsContact sales

How Rate Limiting Works

Rate limits use a sliding window algorithm:
  1. Each request is timestamped
  2. System counts requests in the last 60 seconds
  3. If limit exceeded, request is rejected
  4. Window slides continuously (not reset at fixed intervals)
Rate limits apply to your entire account, across all API keys.

Rate Limit Exceeded

When you exceed your rate limit:
{
  "error": "Rate limit exceeded",
  "code": "RATE_LIMIT_EXCEEDED",
  "retryAfter": 30
}
Status Code: 429 Too Many Requests The retryAfter field indicates seconds to wait before retrying.

Best Practices

When you hit rate limits, wait progressively longer between retries:
async function fetchWithRetry(url, options, maxRetries = 3) {
  for (let i = 0; i < maxRetries; i++) {
    const response = await fetch(url, options);
    
    if (response.status === 429) {
      const retryAfter = response.headers.get('Retry-After') || Math.pow(2, i);
      await new Promise(resolve => setTimeout(resolve, retryAfter * 1000));
      continue;
    }
    
    return response;
  }
}
Group multiple operations into fewer API calls when possible.
Cache API responses to reduce redundant requests.
If you consistently hit rate limits, consider upgrading to a higher tier.

Upgrading Rate Limits

To increase your rate limit:
  1. Subscribe to a plan: Get 20-50 requests/minute
  2. Purchase credits: Get 100 requests/minute (no subscription)
  3. Contact sales: Custom enterprise limits
Visit pricing to compare plans.