Fiber AI
Build

Rate limits

How Fiber's per-minute rate limits work, how to see the exact limit for every endpoint, and how to stay under them.

Rate limits

Every endpoint has a per-minute request limit, and we built them to be predictable: they're set per endpoint, they don't shrink when the platform is busy, and you can look up your exact numbers at any time.

How limits work

  • Per organization, per endpoint. Every key in your organization shares one budget for each endpoint. Adding API keys doesn't add capacity; it splits the same budget across more callers.
  • Each endpoint allows a fixed number of requests per minute. Quick lookups allow thousands a minute (reverse email lookup allows 3,500); heavy jobs allow a few.
  • Async jobs have a low limit on starting and a higher one on polling, and polls are free.
  • Higher limits are set per organization. Ask us if a workload needs more.

See your limits

The rate-limit lookup returns the current limit for every endpoint your organization can call, including any custom limits on your account (isCustom: true). It's free, and the numbers it returns are the ones we enforce.

OperationWhat it doesReference
Rate-limit lookupEvery endpoint's per-minute limit for your organizationgetRateLimits
curl -H "x-api-key: $FIBER_API_KEY" https://api.fiber.ai/v1/rate-limits

We don't publish a full table of limits here on purpose: the lookup is always current, while a static table goes stale. Feature pages also list the limits for their own endpoints, for example Contact Reveal and Reverse email lookup.

When you hit a limit

You get HTTP 429 with "Rate limit exceeded. Please try again later." A 429 is never charged: the request is turned away before anything runs.

  • Back off and retry. Honor the Retry-After header when it's present; otherwise wait a few seconds and grow the wait on each repeat.
  • Don't retry in a tight loop: until the window resets, every retry just comes back as another 429.

Staying under them

  • Spread requests across the minute instead of bursting: at a 600/min limit, send about 10 a second.
  • If several services use the same endpoint, give each a slice of the per-minute budget; separate keys won't isolate them.
  • For volume, use bulk and async endpoints. One batch call covering 10 or 2,000 records spends a single request against the limit. See Sync vs async.
  • Let webhooks tell you when a job finishes, so you don't spend requests asking.

On this page