# Limits and fair use

Canonical URL: https://docs.viralspy.com/docs/rate-limits



Search is unlimited as a subscription entitlement: it has no monthly usage counter. To keep that promise useful to everyone, the API prevents flooding and bulk corpus extraction.

| Control             |                            Default | Applies to              |
| ------------------- | ---------------------------------: | ----------------------- |
| Burst               |           15 requests / 10 seconds | API key or OAuth client |
| Sustained key rate  |               60 requests / minute | API key or OAuth client |
| Organisation rate   |              120 requests / minute | Entire organisation     |
| Search fair use     |          2,000 content calls / day | Entire organisation     |
| Analyst hourly      | 10 / credential, 20 / organisation | Analyst requests        |
| Analyst concurrency |                          2 running | Entire organisation     |
| Analyst monthly     |                      100 initially | Entire organisation     |

The daily search ceiling is an anti-scraping protection, not a billable quota. Contact support before a legitimate integration approaches it; approved workloads can be reviewed without changing the product's “unlimited search” entitlement.

## Handling 429 responses [#handling-429-responses]

Respect `Retry-After`, add exponential backoff with jitter, and cap concurrency. Repeating the same request more aggressively will extend disruption and may trigger abuse controls.

```js
const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));

for (let attempt = 0; attempt < 4; attempt++) {
  const response = await fetch(url, options);
  if (response.status !== 429) return response;
  const retryAfter = Number(response.headers.get('retry-after') ?? 1);
  await delay((retryAfter * 1000) + Math.random() * 500);
}
```

Analyst responses include `X-Agent-Limit`, `X-Agent-Remaining`, and `X-Agent-Reset`. `/v1/usage` and the MCP `viralspy_get_usage` tool return the same organisation-level view.
