Skip to main content

Rate Limits

Rate limits control how many requests you can make per time period.
PlanRequests/MinuteRequests/Hour
Free10100
Starter601,000
Pro30010,000
EnterpriseCustomCustom
Rate limits reset at the start of each minute/hour window.

Monthly Quotas

Quotas limit total captures per billing period.
PlanMonthly Captures
Free100
Starter5,000
Pro50,000
EnterpriseUnlimited

Response Headers

Rate limit info is included in response headers:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1703001260
HeaderDescription
X-RateLimit-LimitMax requests per window
X-RateLimit-RemainingRemaining requests
X-RateLimit-ResetUnix timestamp when limit resets

Handling Rate Limits

When rate limited, you receive a 429 response:
{
  "success": false,
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Too many requests. Please slow down."
  }
}

Best Practices

  1. Check headers - Monitor remaining requests
  2. Implement backoff - Wait before retrying
  3. Queue requests - Spread requests over time
  4. Use caching - Avoid duplicate requests

Retry Example

async function captureWithRateLimit(params) {
  const response = await fetch('https://api.snapopa.com/capture', {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${API_KEY}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify(params),
  });

  if (response.status === 429) {
    const resetTime = response.headers.get('X-RateLimit-Reset');
    const waitMs = (resetTime * 1000) - Date.now();
    await new Promise(r => setTimeout(r, Math.max(waitMs, 1000)));
    return captureWithRateLimit(params); // Retry
  }

  return response.json();
}

Quota Management

Monitor quota usage in your Dashboard.

Quota Response

When quota is exceeded:
{
  "success": false,
  "error": {
    "code": "QUOTA_EXCEEDED",
    "message": "Monthly capture quota exceeded"
  }
}

Tips to Reduce Usage

  1. Enable caching - Reuse captures for identical requests
  2. Batch requests - Plan captures efficiently
  3. Review history - Remove unnecessary captures
  4. Upgrade plan - Get more quota if needed

Enterprise Limits

Need higher limits? Contact us for custom enterprise plans with:
  • Unlimited monthly captures
  • Custom rate limits
  • Dedicated infrastructure
  • Priority support