Rate limits

Xpoz applies two limits per account: an instantaneous request rate and a monthly result quota. Both are enforced against the OAuth-authenticated user behind any MCP, SDK, or CLI call.

Per-plan limits

PlanRequests / minConcurrent requestsMonthly resultsTracked items
Free302100,0001
Pro ($20/mo)12061,000,00010
Max ($200/mo)6002010,000,00030
Enterprisecustomcustomcustomcustom

A "result" is one post, comment, or user record returned by a tool call. Count-only tools (countTweets, checkAccessKeyStatus) do not consume the result quota.

429 contract

When the per-minute rate limit is exceeded, the MCP server returns a JSON-RPC error with code -32099 mapped from a transport-level HTTP 429:

{
  "jsonrpc": "2.0",
  "id": 17,
  "error": {
    "code": -32099,
    "message": "rate_limited",
    "data": {
      "retry_after_ms": 4200,
      "limit": 120,
      "window_seconds": 60
    }
  }
}

Transport headers also carry the contract for non-MCP HTTP probes:

HeaderMeaning
Retry-AfterSeconds to wait before retry (RFC 7231)
X-RateLimit-LimitRequests allowed in the current window
X-RateLimit-RemainingRequests remaining in the current window
X-RateLimit-ResetUnix seconds at which the window resets

Quota exceeded

When the monthly result quota is exhausted, calls that would return data fail with:

{
  "error": {
    "code": "quota_exceeded",
    "message": "Monthly result quota reached for plan: Free",
    "details": { "plan": "free", "limit": 100000, "reset_at": "2026-06-01T00:00:00Z" }
  }
}

Upgrade at /pricing or wait for the monthly reset. checkAccessKeyStatus returns the live remaining quota.

Retry guidance

Avoiding rate limits

Related