API Rate Limits
Per-service rate limits and usage guidelines for optimal API integration and performance.
Per-Service Rate Limits
Rate limits depend on your account tier and are enforced per API key. The single-lookup endpoints (CNAM, LRN, Trust, Messaging) share one limit; the bulk endpoints share another. Funding your account unlocks dramatically higher throughput.
| Tier | Single-lookup endpoints CNAM, LRN, Trust, Messaging |
Bulk endpoints up to 1,000 numbers per request |
Basis |
|---|---|---|---|
| Free trial credit, no funds added |
20 / minute · 200 / hour | 5 / minute · 20 / hour | Per API key |
| Funded any balance added |
6,000 / minute | 300 / minute | Per API key |
All endpoints are served from https://verirouteintel.com/api/v1/<service>. Limits are enforced per API key over a rolling window. Exceeding a limit returns HTTP 429 Too Many Requests with a Retry-After header — back off and retry after the indicated delay. Processing a list? Use a bulk endpoint (one request, up to 1,000 numbers) instead of looping the single endpoint. Need more than the funded tier? Contact us about enterprise limits.
Headers & 429 Behavior
When rate limits are exceeded or approached, the API provides detailed information:
- HTTP 429 Too Many Requests when limits are exceeded.
- Headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, Retry-After (seconds).
- Back off and retry after the indicated interval. Exponential backoff is recommended for clients that may spike.
HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1640995200
Retry-After: 5
{
"error": "Too Many Requests",
"code": "rate_limited",
"message": "You have exceeded the allowed request rate. Please retry after the specified interval.",
"bucket": "per_api_key",
"window_seconds": 60,
"retry_after": 5
}
Best Practices
Follow these guidelines to optimize your API usage and avoid rate limiting:
- Implement Caching: Cache responses to reduce redundant API calls
- Batch Requests: Use bulk endpoints when available for multiple lookups
- Monitor Headers: Check rate limit headers in responses to track usage
- Implement Retry Logic: Use exponential backoff for failed requests
- Optimize Timing: Spread requests evenly rather than bursting
- Upgrade Plans: Consider higher tiers for increased limits