Rate Limiting Policy

To ensure fair usage, prevent abuse, and maintain high availability across all #about services, we enforce strict rate limits on all API endpoints. This page details current quotas, response headers, retry strategies, and architectural best practices.

Quota Tiers & Windows

Rate limits are evaluated per API key on a sliding 60-second window. Burst allowances accommodate short traffic spikes before throttling applies.

PlanRequests / minBurst BufferMax Concurrency
Developer (Free)60105
Pro6005025
Business3,000200100
EnterpriseCustomCustomUnlimited

Response Headers

Every successful and error response includes telemetry headers to help you track consumption and predict resets:

HTTP/1.1 200 OK
X-RateLimit-Limit: 600
X-RateLimit-Remaining: 412
X-RateLimit-Reset: 1719823456
Retry-After: 18  
RateLimit-Policy: 600;w=60

429 Too Many Requests

When your application exceeds the configured threshold, the gateway returns a 429 status code. The response body contains a machine-readable error object:

{
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "You have exceeded the allowed request quota for this window.",
    "retry_after": 14,
    "documentation_url": "/rate-limiting"
  }
}
Production Warning: Never implement bare retries. Always respect the Retry-After header and apply exponential backoff with jitter to avoid thundering herd scenarios.

Retry Strategy & Backoff

Recommended implementation for resilient clients:

async function requestWithBackoff(url, opts, maxRetries = 4) {
  for (let attempt = 0; attempt <= maxRetries; attempt++) {
    const res = await fetch(url, opts);
    
    if (res.status === 429) {
      const delay = Math.min(
        Math.pow(2, attempt) * 1000 + Math.random() * 500,
        30000
      );
      await new Promise(r => setTimeout(r, delay));
      continue;
    }
    return res;
  }
  throw new Error('Rate limit exhausted after retries');
}

Architectural Best Practices

Frequently Asked Questions

How do I request a permanent limit increase?

Submit a request via the Developer Portal or email api-scaling@about.co. Include your average daily volume, peak concurrency patterns, and business justification. Enterprise customers receive dedicated throughput allocations.

Do authentication endpoints share the same quota?

No. OAuth2 and token refresh endpoints operate under a separate, stricter limit (10 req/min per IP) to mitigate credential stuffing and brute-force attempts.

What happens if I consistently violate limits?

Repeated throttling triggers an automated review. After 24 hours of sustained violations, your API key may be temporarily suspended pending contact from our platform security team.

Can I get real-time quota metrics?

Yes. Enable the analytics scope on your API key and query the /v1/metrics/usage endpoint for sub-minute consumption telemetry.