JK
JustKalm
API Limits

Rate Limits

Understand API rate limits, how to handle them gracefully, and best practices for building resilient integrations.

Pro Plan Limits

EndpointRequests/MinRequests/DayBurst Limit
POST /v2/valuate10010,00050
GET /v2/valuations/*30050,000100
POST /v2/batch101005
Priority queuingBurst allowanceRate limit alerts
Need higher limits?
Upgrade plan

Rate Limit Headers

Every API response includes headers to help you track your rate limit status:

HeaderDescriptionExample
X-RateLimit-LimitMaximum requests allowed in the current window100
X-RateLimit-RemainingRequests remaining in the current window87
X-RateLimit-ResetUnix timestamp when the rate limit resets1702483260
Retry-AfterSeconds to wait before retrying (only on 429)30

Handling 429 Errors

When you exceed rate limits, you'll receive a 429 status code. Implement exponential backoff with the Retry-After header:

JavaScript Example
async function fetchWithRetry(url, options, maxRetries = 5) {
  for (let attempt = 1; attempt <= maxRetries; attempt++) {
    const response = await fetch(url, options);
    
    if (response.status === 429) {
      // Get retry delay from header or use exponential backoff
      const retryAfter = response.headers.get('Retry-After');
      const delay = retryAfter 
        ? parseInt(retryAfter) * 1000 
        : Math.min(1000 * Math.pow(2, attempt), 60000);
      
      console.log(`Rate limited. Retrying in ${delay}ms...`);
      await new Promise(resolve => setTimeout(resolve, delay));
      continue;
    }
    
    return response;
  }
  
  throw new Error('Max retries exceeded');
}

Best Practices

Use Batch Endpoints

For bulk operations, use /v2/batch instead of individual requests. One batch of 1000 items counts as 1 request.

Monitor Headers

Check X-RateLimit-Remaining proactively. Slow down before hitting limits rather than waiting for 429s.

Cache Responses

Valuations are valid for 24 hours. Cache results locally to reduce redundant API calls.

Use Webhooks

Instead of polling for batch results, use webhooks to receive notifications when processing completes.

Need Custom Limits?

Enterprise plans include custom rate limits tailored to your use case.

© 2025 JustKalm. Rate responsibly.