Rate Limits & Quotas
Understanding API rate limits and usage quotas.
Rate Limits
| Tier | Requests/minute | Requests/day |
|---|---|---|
| Standard | 60 | 10,000 |
| Professional | 300 | 100,000 |
| Enterprise | Custom | Custom |
Rate Limit Headers
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1705312800
Handling Rate Limits
When rate limited, the API returns HTTP 429. The Python SDK automatically retries rate-limited requests with exponential backoff (3 retries, 1 second initial delay, 30 second maximum backoff). It also retries on 5xx server errors using the same strategy.
RateLimitError is only raised after all automatic retries have been exhausted.
from snowtrail import Snowtrail, RateLimitError
client = Snowtrail(api_key="your-api-key")
# The SDK automatically retries rate-limited requests.
# RateLimitError is only raised after all retries are exhausted.
try:
df = client.gbsi_us.system_stress(date_from="2024-01-01")
except RateLimitError:
print("Rate limit exceeded after automatic retries. Try again later.")
Data Quotas
| Tier | History Available |
|---|---|
| Standard | 2 years |
| Professional | 5 years |
| Enterprise | Full history |