Introduction

Rate Limits & Quotas

Understanding API rate limits and quotas

Synoveo applies rate limits to ensure fair usage and system stability.

Rate Limits

Requests per hour by plan:

PlanRequests/Hour
Lite100
Solo500
Pro2000
Business10000

Rate Limit Headers

Responses include rate limit information:

X-RateLimit-Limit: 2000
X-RateLimit-Remaining: 1995
X-RateLimit-Reset: 1699900000

Exceeding Limits

When rate limited:

HTTP/1.1 429 Too Many Requests
Retry-After: 3600
{
  "status": "error",
  "error": {
    "code": "RATE_LIMITED",
    "message": "Rate limit exceeded",
    "details": "Retry after 3600 seconds"
  }
}

Quotas

Beyond rate limits, some operations have quotas:

OperationLiteSoloProBusiness
Syncs/month502001000Unlimited
Posts/month--50500
Media uploads/month--1001000

Best Practices

  1. Cache responses - Don't refetch unnecessarily
  2. Use webhooks - Instead of polling
  3. Batch operations - Combine when possible
  4. Handle 429s - Implement exponential backoff

Backoff Strategy

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') || 60;
      await sleep(retryAfter * 1000);
      continue;
    }
    return response;
  }
  throw new Error('Max retries exceeded');
}

On this page