Skip to content

Rate Limits

API requests are rate limited to ensure fair usage and platform stability.

PlanRequests/minuteRequests/day
Sandbox10010,000
Starter50050,000
Growth2,000200,000
EnterpriseCustomCustom

Every response includes rate limit information:

X-RateLimit-Limit: 500
X-RateLimit-Remaining: 498
X-RateLimit-Reset: 1705312800
HeaderDescription
X-RateLimit-LimitMaximum requests per window
X-RateLimit-RemainingRemaining requests
X-RateLimit-ResetUnix timestamp when limit resets

When exceeded, you’ll receive:

HTTP/1.1 429 Too Many Requests
Retry-After: 30
{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded. Retry after 30 seconds."
}
}
const response = await iof.contracts.list();
const remaining = response.headers["x-ratelimit-remaining"];
if (remaining < 10) {
console.warn("Approaching rate limit");
}
async function withRetry(fn, maxRetries = 3) {
for (let i = 0; i < maxRetries; i++) {
try {
return await fn();
} catch (error) {
if (error.code === "RATE_LIMITED") {
const delay = Math.pow(2, i) * 1000;
await sleep(delay);
continue;
}
throw error;
}
}
}

Instead of individual requests:

// Inefficient
for (const id of contractIds) {
await iof.contracts.retrieve(id);
}
// Efficient
const contracts = await iof.contracts.list({
ids: contractIds,
});
const cache = new Map();
async function getContract(id) {
if (cache.has(id)) {
return cache.get(id);
}
const contract = await iof.contracts.retrieve(id);
cache.set(id, contract);
return contract;
}

Some endpoints have specific limits:

EndpointLimit
/v1/kyc/verify10/minute
/v1/aml/screen50/minute
/v1/reports/generate5/minute

Contact sales for:

  • Higher rate limits
  • Dedicated infrastructure
  • Custom SLA

Each SKU tier has different rate limit allowances:

SKUCalls/MonthCalls/MinuteBurst Capacity
Starter10,000167500
Analytics Only25,0004171,250
Fintech50,0008342,500
Growth100,0001,6675,000
Compliance Plus75,0001,2503,750
EnterpriseUnlimited10,00020,000
Core BankingUnlimited20,00050,000

For complete SKU information including features and pricing, see SKU Tiers.