Skip to main content

Rate Limits

API rate limits are enforced per API key based on your subscription tier.

Tiers

TierRequests/minDescription
Standard100Default for all accounts
Professional1,000Higher-volume integrations
Enterprise10,000Custom limits available

Rate Limit Headers

Every API response includes rate limit information:

HeaderDescription
X-RateLimit-LimitMaximum requests per minute for your tier
X-RateLimit-RemainingRequests remaining in the current window
X-RateLimit-ResetUnix timestamp when the limit resets

Example headers:

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 42
X-RateLimit-Reset: 1717243260

429 Response

When the rate limit is exceeded, the API returns HTTP 429:

{
"code": "RATE_LIMITED",
"message": "Rate limit exceeded",
"request_id": "req_abc123"
}

Handling Rate Limits

Exponential Backoff

async function requestWithBackoff(url, options, maxRetries = 5) {
for (let attempt = 0; attempt < maxRetries; attempt++) {
const response = await fetch(url, options);

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

const resetTimestamp = response.headers.get("X-RateLimit-Reset");
let waitMs;

if (resetTimestamp) {
waitMs = parseInt(resetTimestamp) * 1000 - Date.now();
} else {
waitMs = Math.min(1000 * Math.pow(2, attempt), 30000);
}

await new Promise((resolve) => setTimeout(resolve, Math.max(waitMs, 100)));
}

throw new Error("Rate limit exceeded after max retries");
}

Best Practices

  • Check remaining quota — Monitor X-RateLimit-Remaining to proactively slow down before hitting the limit
  • Use batch endpointsPOST /v1/screenings/batch processes multiple subjects in one request, counting as a single API call
  • Use async mode — Async screenings don't block while processing, letting you submit more requests
  • Cache results — Store screening results to avoid re-screening unchanged subjects
  • Distribute requests — Spread requests evenly across the rate window rather than bursting

Upgrading Your Tier

To upgrade from Standard to Professional or Enterprise:

  1. Log in to app.korastratum.com
  2. Navigate to Settings → Billing
  3. Select your desired plan

For Enterprise custom limits, contact sales.