Skip to main content
Prefetch limits how many requests your API key can have running at the same time. Paid plans have no per-minute cap: as soon as one request finishes, the next one can start. Going over a limit returns 429 Too Many Requests. A refused request costs no credits.

Concurrency limit

Each key can have a fixed number of requests in flight. A request that would go over it is refused straight away with 429. It isn’t queued.
Every response that counts toward the limit carries two headers, so you can pace yourself: The simplest way to stay under the limit is a worker pool the size of your plan’s limit. Each worker sends its next request when its last one finishes. For hundreds of URLs, a batch is easier: one request, and Prefetch manages the concurrency for you.

Per-minute limit

The Free plan allows 30 requests a minute, counted over a sliding 60-second window. Paid plans have a high safety ceiling that stops runaway loops, which ordinary traffic never reaches. Going over either one returns:
The response has a Retry-After header in seconds, plus X-RateLimit-Limit and X-RateLimit-Remaining.

Requests without an API key

Requests with no API key or token are limited to 300 a minute per IP address. If one IP address sends 60 unknown API keys or invalid tokens in a minute, it’s refused with 429 and a Retry-After header for the rest of that minute. Requests with a valid key never count toward either limit.

Handling 429 responses

Wait for Retry-After when it’s there, and back off exponentially when it isn’t:

Staying within limits

  • Use /enrich instead of separate /brand, /company and /classify calls. It’s one request instead of three.
  • Cache what doesn’t change. Brand and company data is stable for days. See Caching.
  • Don’t fetch the same domain twice in a short window.
  • Match your plan’s concurrency. Run as many requests in parallel as your plan allows, and no more. Extra requests are refused, not queued.