Skip to content

Rate Limits

NeuralRepo enforces per-user daily rate limits to ensure fair usage and service stability. Limits apply only to API key and Bearer token authenticated requests. Web UI sessions using cookie authentication are exempt from rate limiting.

PlanLimit
Free100 requests per day
Pro10,000 requests per day

Limits are applied per authenticated user. Multiple API keys belonging to the same user share the same daily quota. The counter resets at midnight UTC.

When you exceed your daily limit, the API responds with 429 Too Many Requests:

{
"error": "Rate limit exceeded"
}

When you receive a 429 response, use exponential backoff to retry. Start at 1 second and double on each consecutive 429. Do not retry immediately — rapid retries will not help since the limit is daily.

async function fetchWithRetry(url, options, maxRetries = 3) {
for (let attempt = 0; attempt < maxRetries; attempt++) {
const res = await fetch(url, options);
if (res.status !== 429) return res;
const delay = Math.pow(2, attempt) * 1000;
await new Promise((resolve) => setTimeout(resolve, delay));
}
throw new Error("Rate limit exceeded after retries");
}
  • Cache responses when possible to reduce request volume.
  • Batch operations instead of making many individual requests.
  • Spread requests evenly across the day rather than sending bursts.
  • Monitor your usage and consider upgrading to Pro if you consistently approach the Free plan limit.
StatusMeaning
429 Too Many RequestsRate limit exceeded; wait and retry