HunterAI throttles itself to a rate you declare, so a sync never floods your API. You
control the ceiling; HunterAI stays under it.
Declare your rate
When your business owner creates the connection, they set a rate limit in requests per
second. HunterAI applies a client-side limiter (a leaky bucket) to every request it makes
to your base URL and never exceeds that rate.
- Default: if no rate is set on the connection, HunterAI uses 5 requests per second.
- The limiter is per base URL: all requests to the same API share one budget, so even
concurrent connections against the same host stay within the declared rate.
- Paging is sequential — HunterAI fetches one page, then the next. It does not fan out
parallel page requests within an entity.
Pick a rate your API comfortably sustains. There is no benefit to declaring a rate higher
than your infrastructure can serve; a lower, honest number keeps syncs healthy. Tens of
requests per second is generous for the data volumes involved.
Back-pressure with 429
The declared rate is HunterAI’s self-imposed ceiling, not a substitute for your own
protection. If you still need to shed load, return 429:
- Include a
Retry-After header (in seconds). HunterAI waits at least that long before
retrying.
- Without
Retry-After, HunterAI falls back to exponential backoff (1, 2, 4, 8, 16 s).
- HunterAI retries a throttled request up to 5 times. If it is still
429 after that,
the entity fails for this run and resumes from its watermark on the next run.
Page size
Every request asks for limit=100. That is fixed — you cannot make HunterAI request larger
or smaller pages. Size your responses and any per-request cost around 100 records per page.