Customer.io Rate Limits
Overview
Understand and implement proper rate limiting and backoff strategies for Customer.io API to handle high-volume operations reliably.
Rate Limit Details
Track API Limits
| Endpoint | Limit | Window |
|---|---|---|
| Identify | 100 requests/second | Per workspace |
| Track events | 100 requests/second | Per workspace |
| Batch operations | 100 requests/second | Per workspace |
App API Limits
| Endpoint | Limit | Window |
|---|---|---|
| Transactional email/push | 100/second | Per workspace |
| API queries | 10/second | Per workspace |
Instructions
Step 1: Implement Token Bucket Rate Limiter
Build a rate limiter with configurable tokens per second, automatic refill, and async waiting when tokens are depleted.
Step 2: Add Exponential Backoff
Create retry logic with configurable max retries, base delay, max delay, and jitter factor. Skip retries on client errors (4xx except 429).
Step 3: Create Rate-Limited Client
Wrap the Customer.io client to acquire a rate limit token before each request and apply backoff on failures.
Step 4: Handle 429 Response Headers
Parse X-RateLimit-Remaining, X-RateLimit-Reset, and Retry-After headers to adapt dynamically.
Step 5: Add Queue-Based Rate Limiting
Use p-queue with interval-based rate limiting for cleaner high-volume processing.
For detailed implementation code, load the reference guide:
Read(${CLAUDE_SKILL_DIR}/references/implementation-guide.md)
Error Handling
| Scenario | Action |
|---|---|
| 429 received | Respect Retry-After header |
| Burst traffic | Use queue with concurrency limit |
| Sustained high volume | Implement sliding window |
Resources
Next Steps
After implementing rate limits, proceed to customerio-security-basics for security best practices.
Prerequisites
- Access to the API environment or API
- Required CLI tools installed and authenticated
- Familiarity with API concepts and terminology
Output
- Configuration files or code changes applied to the project
- Validation report confirming correct implementation
- Summary of changes made and their rationale
See API implementation details for output format specifications.
Examples
Basic usage: Apply customerio rate limits to a standard project setup with default configuration options.
Advanced scenario: Customize customerio rate limits for production environments with multiple constraints and team-specific requirements.