Skip to main content

Rate limits

Clients should respect Retry-After and RateLimit-* headers.

ScopeWindowLimit
Auth endpoints15 minutes30 requests
Public/general API1 minute300 requests per IP
Protected API1 minute600 requests per authenticated user, then tenant/IP fallback
Tenant writes1 minute180 write requests per tenant
Enrichment/Dossier1 minute10 requests per tenant
Concurrent tenant requestsImmediate50 in-flight requests

Rate-limited responses use HTTP 429.

Retry-After: 5
RateLimit-Limit: 600
RateLimit-Remaining: 0
RateLimit-Reset: 1790000000

Client behavior​

  • Retry only after Retry-After.
  • Use exponential backoff for repeated 429 responses.
  • Avoid parallel fan-out that exceeds the tenant concurrency cap.
  • Prefer pagination over bulk reads.
  • For imports, keep write concurrency bounded and treat Retry-After as authoritative. Tenant write limits are configurable by deployment through TENANT_WRITE_RATE_LIMIT_MAX and TENANT_WRITE_RATE_LIMIT_WINDOW_MS.