Rate Limits

Rate limits protect the API and ensure fair usage across all accounts.

Limits by Plan

Plan Requests/minute Concurrent Jobs
Free Trial 5 1
Starter 20 3
Growth 60 10
Scale 200 50

Rate Limit Headers

Every response includes rate limit information:

Header Description
X-RateLimit-Limit Request limit per minute for your plan
X-RateLimit-Remaining Remaining requests in current window
X-RateLimit-Reset Unix timestamp when the rate limit resets

When Rate Limited

If you exceed your rate limit, the API returns 429 Too Many Requests:

json
{
  "error": "rate_limit_exceeded",
  "message": "Too many requests",
  "retry_after_seconds": 12
}

Wait for retry_after_seconds before retrying. The Retry-After HTTP header is also set.

Best Practices

  • Poll wisely — When checking article status, poll every 5 seconds instead of continuously
  • Use webhooks — Configure webhooks to avoid polling entirely
  • Batch configuration — Set up all products/personas in a single request
  • Cache responses — Cache usage and analytics responses client-side