Rate Limits Guide
Learn how to work within API rate limits and optimize your request patterns.Rate Limit Overview
How Rate Limiting Works
GTMAPIs uses Redis-backed windowed rate limiting:- Tracks authenticated requests per API key
- Tracks unauthenticated and abuse-protection traffic per IP address
- Allows 10,000 public API requests per API key per minute by default
- Allows 1,000 requests per IP address per minute by default
Example Timeline
Rate Limit Headers
Every response includes rate limit information:Reading Rate Limit Headers
Rate Limit Exceeded
When you exceed the rate limit, you’ll receive a 429 response:Handling Rate Limits
Optimization Strategies
1. Use Bulk Endpoint
Process 100 emails per request instead of 1:2. Deduplicate Before Validation
Remove duplicates to reduce API calls:3. Cache Validation Results
Cache results to avoid re-validating:4. Implement Request Throttling
Limit concurrent requests:5. Add Delays Between Batches
Spread requests over time:Rate Limiter Library
Use a rate limiting library for automatic management:Using Bottleneck
Using Custom Rate Limiter
Monitoring Rate Limit Usage
Track Request Counts
Alert on Rate Limit Issues
Best Practices
For High-Volume Applications
- Use bulk endpoint for all multi-email validations
- Implement caching to avoid re-validating
- Add delays between batches (500ms recommended)
- Monitor rate limit headers to adjust dynamically
- Implement backoff when approaching limits
For Background Jobs
- Process in smaller batches over longer time
- Use job queues (BullMQ, Celery) for async processing
- Implement retry logic with exponential backoff
- Track progress to resume on failure
For Real-Time Validation
- Cache aggressively (7-day TTL recommended)
- Validate on blur instead of on every keystroke
- Debounce input to reduce API calls
- Queue validations instead of parallel requests
Increasing Rate Limits
Need higher limits? Contact us at matt@closedwonleads.com with:- Your use case
- Expected request volume
- Current rate limit issues
- Higher rate limits above the default 10,000 req/min
- Dedicated infrastructure
- Priority support
- Custom SLAs
Next Steps
API Integration
Full integration patterns
Error Handling
Handle errors properly