Docs
Reference
Rate Limits

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

TierRequests/minRequests/day
Free6010,000
Pro300500,000
EnterpriseCustomCustom

Daily credit cap

TierDaily cap
Free14,000 credits/day
Pro80,000 credits/day
EnterpriseNone

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:

HeaderDescription
RateLimit-LimitMaximum requests per window
RateLimit-RemainingRequests remaining in current window
RateLimit-ResetUnix 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=24h instead of polling every minute. See Parameters for supported formats.
  • Batch where possible - A single GET /v1/follows/new returns new follows across all tracked accounts. No need to query per-account.
  • Check headers first - Read RateLimit-Remaining before making requests to avoid hitting 429s.
  • Use webhooks - For agent workflows, subscribe to push notifications instead of polling.