logo
Schedulin Developers

Rate Limits

Limits are applied per API key.

  • 300 requests per minute across all endpoints.

Each response carries RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset headers so you can pace requests. Per-network publishing limits also apply on top of the API rate limit — a channel can only post as often as the platform allows.

Handling 429

When you exceed a limit, the API returns 429 Too Many Requests. Back off and retry:

async function withRetry(fn, attempts = 5) {
  for (let i = 0; i < attempts; i++) {
    const res = await fn();
    if (res.status !== 429) return res;
    const wait = Math.min(2 ** i * 500, 10_000);
    await new Promise((r) => setTimeout(r, wait));
  }
  throw new Error("Rate limited after retries");
}
TIP
Spread bulk operations over time rather than firing them in a tight loop, and pace requests using the header.