Rate limiting
The Benchling In Vivo API enforces rate limits to ensure fair and reliable access for all users. Each tenant is allocated a fixed number of requests within a fixed time window; requests that exceed the limit are rejected until the window resets.
Default Limits
Response Headers
Every API response includes headers that report your current rate-limit status:
These headers reflect the per-API-key limit. A 429 response may still occur if the overall tenant-level limit is reached, even when the per-key remaining count is above zero.
Exceeding the Limit
When you exceed a rate limit, the API responds with HTTP status 429 Too Many Requests:
The X-RateLimit-Reset header on the response indicates how many seconds to wait before retrying.
Best Practices
- Space your requests. Distribute API calls evenly rather than sending them in rapid bursts.
- Monitor rate-limit headers. Use
X-RateLimit-RemainingandX-RateLimit-Resetto adapt your request rate before hitting the limit. - Back off on 429. When you receive a
429response, wait for the duration indicated byX-RateLimit-Resetbefore sending additional requests.