Rate Limits
CC enforces rate limits per API key based on your environment.
Default Rate Limits
| Environment | Requests per minute (RPM) |
|---|---|
development |
120 |
production |
1000 |
Endpoint-Specific Limits
| Endpoint | Development RPM | Production RPM |
|---|---|---|
POST /v1/ingest |
120 | 1,000 |
GET /v1/signals |
120 | 1,000 |
GET /v1/alerts |
120 | 500 |
GET /v1/score |
120 | 1,000 |
GET /v1/report |
20 | 20 |
GET /v1/usage |
10 per 10 min | 10 per 10 min |
Handling 429 Responses
When you exceed the rate limit:
HTTP/2 429 Too Many Requests
retry-after: 60
{
"error": "Rate limit exceeded. Please reduce request frequency.",
"retry_after": 60
}
Implement retry logic that reads the retry-after header before resending.
Python example:
import time, requests
def call_with_retry(url, headers, params, max_retries=3):
for attempt in range(max_retries):
r = requests.get(url, headers=headers, params=params)
if r.status_code == 429:
wait = int(r.headers.get("retry-after", 60))
print(f"Rate limited. Waiting {wait}s...")
time.sleep(wait)
else:
return r
raise Exception("Max retries exceeded")
Production keys require an active paid plan. See Credits & Pricing.