Credit Usage and Limits
All ZoomInfo API endpoints are rate-limited at the gateway level.
Rate Limits
| Tier | Limit |
|---|---|
| Default | 25 requests per second |
| Premium Limit Add-On | 30 requests per second |
| Premium+ Limit Add-On | 35 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:
| Status | Retry? | Guidance |
|---|---|---|
| 429 | Yes | Back off and retry after the Retry-After delay if provided |
| 500 | Yes | Retry with exponential backoff |
| 504 | Yes | Retry with a smaller request or reduced complexity |
| 400 | No | Fix request validation errors |
| 401 | No | Refresh token or re-authenticate |
| 403 | No | Check 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
| Operation | Credit impact |
|---|---|
| Lookup | Free |
| Search Companies | Free |
| Search Contacts | Free |
| Find Similar Companies | Free |
| Find Similar Contacts | Free |
| Find Recommended Contacts | Free |
| Enrich Companies | 1 bulk data credit per new company record |
| Enrich Contacts | 1 bulk data credit per new contact record |
| Enrich Intent | Bulk data credits |
| Account Research | AI action credits |
| Contact Research | AI 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.
Updated 24 days ago