Skip to main content

Rate Limiting

The Verts API implements rate limiting to ensure fair usage and protect the service from abuse.

Rate Limits​

Standard Limits​

Endpoint TypeRequests per MinuteBurst
Authentication105
API Operations10020
File Uploads3010

Rate Limit Headers​

Every API response includes rate limit information in the headers:

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1640000000
  • X-RateLimit-Limit - Maximum requests per minute
  • X-RateLimit-Remaining - Requests remaining in current window
  • X-RateLimit-Reset - Unix timestamp when the limit resets

Handling Rate Limits​

When you exceed the rate limit, the API returns a 429 Too Many Requests response:

{
"type": "https://api.verts.dev/errors/rate-limit-exceeded",
"title": "Rate Limit Exceeded",
"status": 429,
"detail": "Too many requests. Please wait before retrying.",
"retry_after": 30
}

Retry Strategy​

  1. Check the Retry-After header - Wait the specified number of seconds before retrying
  2. Implement exponential backoff - If no Retry-After header, start with 1 second and double each retry
  3. Set a maximum retry limit - Don't retry indefinitely

Example Implementation​

async function makeRequest(url: string, options: RequestInit): Promise<Response> {
const maxRetries = 3;
let retryCount = 0;

while (retryCount < maxRetries) {
const response = await fetch(url, options);

if (response.status !== 429) {
return response;
}

const retryAfter = response.headers.get('Retry-After');
const delay = retryAfter ? parseInt(retryAfter) * 1000 : Math.pow(2, retryCount) * 1000;

await new Promise(resolve => setTimeout(resolve, delay));
retryCount++;
}

throw new Error('Max retries exceeded');
}

Best Practices​

Optimize Your Requests​

  • Cache responses - Don't request the same data repeatedly
  • Use batch operations - Some endpoints support batch processing
  • Request only what you need - Use pagination and filtering

Monitor Your Usage​

  • Track rate limit headers - Monitor your remaining requests
  • Set up alerts - Get notified when approaching limits
  • Log rate limit errors - Debug issues quickly

Plan for Scale​

If you need higher rate limits for your use case, contact support to discuss enterprise options.