Docs/Rate Limits

Rate Limits

Understanding and working within API rate limits.

Overview

Rate limits protect our infrastructure and ensure fair usage across all users. Limits are applied per API key and vary by plan.

Limits by Plan

PlanRequests/minConcurrent JobsDaily Limit
Free102100
Pro60105,000
Business3005050,000
EnterpriseCustomCustomUnlimited

Rate Limit Headers

Every API response includes headers with your current rate limit status:

HeaderDescription
X-RateLimit-LimitMaximum requests per minute
X-RateLimit-RemainingRequests remaining in current window
X-RateLimit-ResetUnix timestamp when the limit resets
Retry-AfterSeconds to wait before retrying (on 429)

Handling Rate Limits

429 Too Many Requests

When you exceed the rate limit, you'll receive a 429 status code. Wait for the time specified in the Retry-After header before retrying.

Exponential Backoff

Implement exponential backoff to handle rate limits gracefully:

async function requestWithRetry(fn, maxRetries = 3) {
  for (let attempt = 0; attempt < maxRetries; attempt++) {
    try {
      return await fn();
    } catch (error) {
      if (error.status === 429) {
        const retryAfter = error.headers['retry-after'] || Math.pow(2, attempt);
        console.log(`Rate limited. Retrying in ${retryAfter}s...`);
        await sleep(retryAfter * 1000);
      } else {
        throw error;
      }
    }
  }
  throw new Error('Max retries exceeded');
}

Best Practices

  • Monitor headers: Check rate limit headers to proactively slow down before hitting limits.
  • Use async mode: For batch processing, use async mode with webhooks to avoid blocking.
  • Implement queuing: Queue requests on your end to smooth out traffic spikes.
  • Cache results: Cache API responses when possible to reduce redundant requests.
  • Use multiple keys: Distribute load across multiple API keys if needed.

Increasing Your Limits

Need higher limits? You have several options:

Upgrade Your Plan

Higher plans come with increased rate limits and concurrent job capacity.

View pricing →

Contact Sales

Enterprise customers can get custom limits tailored to their needs.

Contact us →