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.
| Operation | What it does | Reference |
|---|---|---|
| Rate-limit lookup | Every endpoint's per-minute limit for your organization | getRateLimits |
curl -H "x-api-key: $FIBER_API_KEY" https://api.fiber.ai/v1/rate-limitsWe 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-Afterheader 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.
Related
- Errors & status codes — every status and whether to retry.
- Billing & credits — what's free (polls, 429s) and what's charged.
- API keys — keys share your organization's limits.