SEDI API Docs - Build powerful integrations
Reference

Rate Limiting

Rate limits protect the API from abuse and ensure fair usage across all customers.

Limits by plan

PlanRequests per minuteRequests per month
Hobby10010,000
Pro1,000100,000
EnterpriseCustomUnlimited

Rate limit headers

Every response includes:

HeaderDescription
X-RateLimit-LimitMaximum requests per minute
X-RateLimit-RemainingRemaining requests in the current window
X-RateLimit-ResetUnix timestamp when the window resets

Handling rate limits

When you receive a 429 response, pause requests until the Retry-After header value (in seconds).

async function fetchWithRetry(url, options) {
  const res = await fetch(url, options);

  if (res.status === 429) {
    const retryAfter = res.headers.get('Retry-After');
    await new Promise(r => setTimeout(r, retryAfter * 1000));
    return fetchWithRetry(url, options);
  }

  return res;
}

Best practices

  • Implement exponential backoff with jitter
  • Cache responses when appropriate (use ETag headers)
  • Use persistent connections (HTTP/2 or keep-alive)
  • Avoid polling - use webhooks for real-time events