Skip to main content
Rate limits ensure fair usage and platform stability. Limits are applied per team, across all API tokens belonging to that team.

Current Limits

Two windows are enforced simultaneously on every request: A request is accepted only if both windows have budget remaining. If either window is exhausted, the API returns 429 Too Many Requests.
Need higher limits for production workloads (e.g. ingesting data for many brands/domains)? Contact us at team@qwairy.co.

Rate Limit Headers

Every response, including 429s, includes headers for both windows:

Example Headers

Always check both windows. A request can be rejected while X-RateLimit-Remaining still shows plenty of per-minute budget if the daily cap is exhausted. Conversely, a healthy daily budget doesn’t guarantee the next request will pass the per-minute window.

Handling Rate Limits

When either window is exceeded, the API returns 429 Too Many Requests with a body indicating which window was hit:
The limit field is either "burst" (per-minute) or "daily". Retry-After and the X-RateLimit-*-Reset headers are always aligned with the actual blocker, so you can trust Retry-After without having to inspect the payload.

Best Practices

Trust Retry-After

Use the Retry-After header as-is. It already reflects whichever window (minute or day) is the real blocker.

Watch both remaining headers

Monitor X-RateLimit-Remaining and X-RateLimit-Daily-Remaining to throttle proactively.

Cache responses

Store and reuse data that doesn’t change frequently (brands, competitors, topics).

Batch and filter

Use query filters (provider, period, limit) to fetch only the data you need.

Retry Logic Example

If you see "limit": "daily" on retry, waiting within the same process rarely helps: the daily window can be hours away. Persist the X-RateLimit-Daily-Reset timestamp and reschedule the job instead of blocking a worker.

Optimizing API Usage

Use Filtering Parameters

Instead of fetching all data and filtering client-side, use query parameters:

Cache Static Data

Some data changes infrequently and can be cached:
  • Brands list: Changes rarely
  • Competitors list: Changes when you add/remove competitors
  • Topics/Tags: Changes when you modify your workspace

Use Date Ranges

Limit data retrieval to relevant time periods:

Need Higher Limits?

If 20,000 requests per day is too tight for your ingestion pipeline, contact us at team@qwairy.co with your use case and expected volume. We can raise the daily cap on your team.