Fairing uses rate limiting to maximize API stability and prevent abuse, so treat limits as maximums and avoid unnecessary load.
Rate limits
The Fairing API enforces a limit of 100 requests per minute per store, shared across all API endpoints (/api/responses, /api/questions). Limits apply in fixed one-minute windows.
Every API response includes: x-ratelimit-limit (your per-minute budget), x-ratelimit-remaining (requests left in the current window), and x-ratelimit-reset (seconds until the window resets, a relative duration, not a Unix timestamp).
Exceeding the limit returns HTTP 429 with body {"status": 429, "message": "Too Many Requests"} and a Retry-After header (seconds to wait). Treat 429 as retryable: pause for Retry-After seconds, then resume.
Staying under the limit: prefer larger limit page sizes on /api/responses (up to 1,000 per page) over many small requests, page with the cursor parameters (starting_after) instead of re-fetching from the start, and use incremental filters (since / inserted_at_min) to fetch only new responses on a schedule rather than polling continuously.
If you believe your integration can't work within the limit, reach out to [email protected].
