Rate Limits
All API endpoints are rate-limited per API key. Two independent limits apply: a request-count rate limit (DoS guardrail) and a daily credit cap (spend ceiling).
Request-count limits
| Tier | Requests/min | Requests/day |
|---|---|---|
| Free | 60 | 10,000 |
| Pro | 300 | 500,000 |
| Enterprise | Custom | Custom |
Daily credit cap
| Tier | Daily cap |
|---|---|
| Free | 14,000 credits/day |
| Pro | 80,000 credits/day |
| Enterprise | None |
Grandfathered Starter keys keep their existing limits (120 requests/min, 50,000 requests/day, 20,000 credits/day).
The daily credit cap prevents runaway agent costs. When the cap is reached, the API returns 429:
{
"error": "Daily credit cap reached",
"daily_spent_credits": 80000,
"daily_cap_credits": 80000,
"tier": "pro",
"resets_at": "2026-04-22T00:00:00.000Z"
}The cap resets at midnight UTC.
Rate limit headers
Every API response includes standard rate limit headers:
| Header | Description |
|---|---|
RateLimit-Limit | Maximum requests per window |
RateLimit-Remaining | Requests remaining in current window |
RateLimit-Reset | Unix timestamp when the window resets |
Exceeding the limit
If you exceed the per-minute rate limit:
{
"error": "API rate limit exceeded. Please slow down.",
"retry_after_seconds": 60
}If you exceed the per-day limit:
{
"error": "Daily API limit reached. Upgrade your plan for higher limits.",
"retry_after_seconds": 3600
}Back off and retry after the retry_after_seconds interval. See Errors for full retry guidance.
Best practices
- Cache responses - Follow data updates periodically, not in real time. Caching responses for 30-60 minutes is usually sufficient.
- Use time windows - Query with
?since=24hinstead of polling every minute. See Parameters for supported formats. - Batch where possible - A single
GET /v1/follows/newreturns new follows across all tracked accounts. No need to query per-account. - Check headers first - Read
RateLimit-Remainingbefore making requests to avoid hitting 429s. - Use webhooks - For agent workflows, subscribe to push notifications instead of polling.