Rate Limits
The Vetrol API enforces rate limits to ensure fair usage and platform stability.
Default limits
| Endpoint | Rate Limit |
|---|---|
| All API endpoints | 100 requests / second per account |
| Messages: Create | 1,000 / minute |
| Payments: Create | 500 / minute |
Rate limit headers
Every response includes headers showing your current rate limit status:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 1710345600
Handling 429 errors
When you exceed a rate limit, the API returns 429 Too Many Requests. Retry after the time indicated in the Retry-After header:
async function withRetry(fn, maxRetries = 3) {
for (let attempt = 0; attempt < maxRetries; attempt++) {
try {
return await fn();
} catch (error) {
if (error.status === 429 && attempt < maxRetries - 1) {
const retryAfter = parseInt(error.headers['retry-after'] || '1', 10);
await new Promise(resolve => setTimeout(resolve, retryAfter * 1000));
} else {
throw error;
}
}
}
}
Increasing limits
Contact support if you need higher rate limits for your use case.