Skip to main content

Overview

Prefetch API enforces three independent limits:
  1. Global rate limit — per IP address, fixed 1-minute window
  2. Per-key rate limit — per API key, sliding 1-minute window
  3. Per-key concurrency limit — max in-flight requests per key at once
When any limit is exceeded, you receive HTTP 429 Too Many Requests.

Global rate limit

300 requests per minute per IP address, using a fixed 1-minute window. This limit applies before authentication and cannot be configured. It protects the infrastructure from abuse.

Per-key rate limit

Each API key has a rate_limit_rpm (requests per minute) field, enforced with a sliding 60-second window. When a key’s request rate exceeds this value, requests fail with:
Contact support or manage your key’s rate limit from the dashboard.

Per-key concurrency limit

Separate from the RPM limit, each key has a maximum number of requests that can be in-flight simultaneously. Exceeding it returns 429 immediately (no queueing). Two headers indicate your current usage:

Handling 429 responses

When you receive a 429, implement exponential backoff before retrying:

Tips for staying within limits

  • Batch wisely — use /enrich instead of separate /brand + /company + /classify calls to reduce request count
  • Cache responses — most brand/company data is stable; cache it for hours or days
  • Deduplicate — avoid re-fetching the same domain multiple times in a short window
  • Queue large jobs — if processing many URLs, space requests out over time rather than sending all at once