Rate Limits
OpenBits enforces rate limits per user based on your subscription tier. Limits are checked before credit deduction.Global Limits by Tier
Every request counts against your global rate limit:Per-Endpoint Limits
Some endpoints have additional per-endpoint rate limits that apply on top of global limits. These are configured per connector and may include daily caps for expensive operations.Rate Limit Headers
Every response includes rate limit headers:Handling 429 Responses
When you exceed a rate limit, you’ll receive a429 Too Many Requests response with:
retry-after header (and error.retryAfter field) tells you how many seconds to wait.
Best Practices
Implement exponential backoff
Implement exponential backoff
When you receive a 429, wait the
retry-after duration. If requests continue to fail, double the wait time up to a maximum of 60 seconds.Use client-side rate limiting
Use client-side rate limiting
Track your own request rate and throttle before hitting the server. This avoids wasted round-trips and latency from rejected requests.
Batch where possible
Batch where possible
Use batch endpoints like
/users/by?usernames=user1,user2 instead of making separate calls for each user.Cache responses
Cache responses
Cache responses on your end when the data doesn’t change frequently. User profiles, for example, rarely change minute-to-minute.