Credit Usage and Limits

All ZoomInfo API endpoints are rate-limited at the gateway level.

Rate Limits

TierLimit
Default25 requests per second
Premium Limit Add-On30 requests per second
Premium+ Limit Add-On35 requests per second

Rate limits apply per tenant. Rate-limit headers are not currently returned. Clients should treat 429 responses as retryable and use exponential backoff with jitter.

Retry Behavior

Retry these responses:

StatusRetry?Guidance
429YesBack off and retry after the Retry-After delay if provided
500YesRetry with exponential backoff
504YesRetry with a smaller request or reduced complexity
400NoFix request validation errors
401NoRefresh token or re-authenticate
403NoCheck scopes, entitlements, and package access

Example Retry Logic

async function callWithRetry(fn, maxAttempts = 5) {
  for (let attempt = 1; attempt <= maxAttempts; attempt++) {
    const response = await fn();

    if (response.ok) return response;

    if (![429, 500, 504].includes(response.status)) {
      throw new Error(`Non-retryable status: ${response.status}`);
    }

    const retryAfter = response.headers.get("Retry-After");
    const delayMs = retryAfter
      ? Number(retryAfter) * 1000
      : Math.min(1000 * 2 ** attempt, 30000);

    await new Promise((resolve) => setTimeout(resolve, delayMs));
  }

  throw new Error("Max retry attempts exceeded");
}

Credits

Customers purchase credits in bulk on an annual basis. Each time a record is enriched for the first time within a rolling 12-month period, one credit is consumed and the record is placed Under Management for one year from the initial enrichment date.

While a record is under management, it can be enriched again without consuming an additional credit. Each enrichment still counts against the customer's record limit.

Credit Estimate by Operation

OperationCredit impact
LookupFree
Search CompaniesFree
Search ContactsFree
Find Similar CompaniesFree
Find Similar ContactsFree
Find Recommended ContactsFree
Enrich Companies1 bulk data credit per new company record
Enrich Contacts1 bulk data credit per new contact record
Enrich IntentBulk data credits
Account ResearchAI action credits
Contact ResearchAI action credits

Cost Visibility for Agents

Agents should estimate worst-case credit usage before enrichment:

Worst-case credits = number of records to enrich
Actual credits may be lower if records are already under management.

Example agent message:

I found 80 matching contacts. Search was free. Enriching all 80 may consume up to 80 bulk data credits if none are already under management. I recommend enriching the top 25 first.


Did this page help you?