Overview
SmartLead applies rate limits to protect the platform and ensure fair access for all users. This guide explains the rate limit structure, how to detect when you’re being throttled, and strategies for building efficient integrations.Rate Limit Structure
SmartLead enforces rate limits on a per-API-key basis:Rate limits apply to your API key across all endpoints combined. A mix of campaign, lead, and analytics requests all count toward the same limit.
Detecting Rate Limits
When you exceed the limit, the API returns a429 Too Many Requests response:
Rate Limit Headers
Check response headers to monitor your usage:Python
Backoff Strategies
Exponential Backoff with Jitter
The recommended approach for handling rate limits:Python
Proactive Rate Limiting
Instead of waiting for 429s, track your usage and throttle proactively:Python
Optimizing Request Patterns
Batch Operations
Instead of making individual requests per lead, use batch endpoints:Python
Cache Responses
Cache data that doesn’t change often to reduce API calls:Python
Use Webhooks Instead of Polling
Instead of polling for new replies every few seconds:Python
Python
Parallelize with Rate Awareness
When you need to make many requests, use controlled concurrency:Python
Troubleshooting
Getting 429 errors with low request volume
Getting 429 errors with low request volume
Check if another integration or script is using the same API key. Rate limits are per-key, not per-client. Consider using separate API keys for different integrations.
Rate limits feel too restrictive
Rate limits feel too restrictive
Review your request patterns — are you polling when you could use webhooks? Are you making individual requests when batch endpoints are available? If you genuinely need higher limits, contact SmartLead support about Enterprise plans.
Retry-After header is missing on 429 response
Retry-After header is missing on 429 response
Default to exponential backoff starting at 1 second. Most rate limit windows reset within 60 seconds.
What’s Next?
Error Handling Guide
Handle all API errors gracefully
Best Practices
Build production-grade SmartLead integrations
