Rate Limits
Rate Limits
The IPTO API implements rate limiting to ensure fair usage and system stability. This guide explains our rate limiting policies and how to handle them.
Rate Limit Headers
All API responses include rate limit information in the headers:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1616320000
Global Limits
Limit Type | Limit | Window |
---|---|---|
Requests per minute | 100 | 60 seconds |
Requests per hour | 1000 | 3600 seconds |
Requests per day | 10000 | 86400 seconds |
Endpoint-Specific Limits
Authentication
Endpoint | Limit | Window |
---|---|---|
Magic link requests | 3 | 1 hour per email |
Token verification | 5 | Per magic link |
Token refresh | 10 | 1 hour per token |
Assets
Endpoint | Limit | Window |
---|---|---|
Asset creation | 10 | 1 hour |
Asset listing | 100 | 1 minute |
Asset updates | 20 | 1 hour |
MicroIP
Endpoint | Limit | Window |
---|---|---|
License creation | 5 | 1 hour |
Asset downloads | 20 | 1 hour |
Search requests | 50 | 1 minute |
Balance
Endpoint | Limit | Window |
---|---|---|
Deposits | 10 | 1 hour |
Withdrawals | 5 | 1 hour |
Balance checks | 100 | 1 minute |
Wallet
Endpoint | Limit | Window |
---|---|---|
Wallet addition | 5 | 1 hour |
Wallet verification | 10 | 1 hour |
Wallet listing | 50 | 1 minute |
Handling Rate Limits
Rate Limit Exceeded
When you exceed a rate limit, you’ll receive a 429 Too Many Requests response:
{
"detail": "Rate limit exceeded",
"retry_after": 60
}
Best Practices
- Implement exponential backoff
- Cache responses when possible
- Monitor rate limit headers
- Handle 429 responses gracefully
- Use bulk endpoints when available
Example: Handling Rate Limits
import time
import requests
def make_request(url, headers):
while True:
response = requests.get(url, headers=headers)
if response.status_code == 429:
retry_after = int(response.headers.get('Retry-After', 60))
time.sleep(retry_after)
continue
return response
Increasing Limits
To request higher rate limits:
- Contact our support team
- Provide your use case
- Share your expected volume
- Explain your business needs
Monitoring Usage
Monitor your API usage through:
- Rate limit headers
- Dashboard metrics
- Usage reports
- Webhook notifications
Best Practices
- Implement proper error handling
- Use appropriate timeouts
- Cache when possible
- Batch requests when available
- Monitor your usage