What are the rate limits?

Last updated: 3 months ago

Currently, we don't enforce strict request-per-second limits. However, fair usage is expected to maintain service quality for everyone.

Current approach

Instead of hard limits, we encourage responsible use:

  • Space out your requests reasonably

  • Implement exponential backoff when errors occur

  • Cache responses to avoid redundant calls

  • Contact us if you anticipate high traffic volumes

Best practices

Cache aggressively:

  • Store search results for common queries

  • Keep media metadata locally after retrieval

  • Don't call /confirm multiple times for the same user/resource

Batch your operations:

  • Group related requests together

  • Add small delays between batches

  • Limit concurrent connections (10-20 is reasonable)

Handle errors gracefully:

  • Implement retry logic with exponential backoff

  • Don't retry immediately on failure

  • Log errors for monitoring

Expected response times

  • /resources search: 200-500ms typically

  • /resource details: Under 100ms

  • /confirm licensing: 300-800ms

Set your client timeout to at least 30 seconds to handle occasional slower responses.

If you hit limits

You'll receive a 429 Too Many Requests error. When this happens:

// Implement exponential backoff
async function fetchWithRetry(url, options, maxRetries = 3) {
  for (let i = 0; i < maxRetries; i++) {
    try {
      const response = await fetch(url, options);
      
      if (response.status === 429) {
        const waitTime = Math.pow(2, i) * 1000; // 1s, 2s, 4s
        await new Promise(resolve => setTimeout(resolve, waitTime));
        continue;
      }
      
      return response;
    } catch (error) {
      if (i === maxRetries - 1) throw error;
    }
  }
}

Monitor your usage

Track API activity in Settings → API:

  • View total requests made

  • Check active licenses

  • Review usage trends

  • Monitor for unusual patterns

Need higher limits?

If your legitimate use case requires high request volumes (>1M requests/month), contact our team to discuss:

  • Your application and traffic patterns

  • Expected request volume

  • Guaranteed rate limits if needed

Was this article helpful?