Rate Limits
Rate limits protect the API from abuse and ensure fair usage.
Default Limits
| Plan | Requests/minute |
|---|---|
| Free | 100 |
| Starter | 100 |
| Growth | 100 |
Response Headers
Every response includes rate limit information:
X-RateLimit-Limit: 100 X-RateLimit-Remaining: 42 X-RateLimit-Reset: 1711274400
Handling 429 Responses
When rate limited, the response includes a Retry-After header with the number of seconds to wait:
javascript
async function verifyWithRetry(document, apiKey, maxRetries = 3) {
for (let i = 0; i < maxRetries; i++) {
const res = await fetch('https://veriscor.io/api/v1/verify', {
method: 'POST',
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ document }),
});
if (res.status !== 429) return res.json();
const retryAfter = parseInt(res.headers.get('Retry-After') || '5');
await new Promise(r => setTimeout(r, retryAfter * 1000));
}
throw new Error('Rate limit exceeded after retries');
}