Rate limits

Xpoz applies two limits per account: an instantaneous request rate and a credit quota (one-time on Free, monthly on Pro and Max). Both are enforced against the OAuth-authenticated user behind any MCP, SDK, or CLI call.

Per-plan limits

PlanRequests / minConcurrent requestsCreditsApprox. resultsTracked items
Free302500 (one-time)up to 75,0001
Pro ($20/mo)12067,500 / monthup to 1,000,0003
Max ($200/mo)60020120,000 / monthup to 18,000,00010
Enterprisecustomcustomcustomcustomcustom

Credits are charged per query, not per row returned: Reddit and Twitter/X queries cost 2 credits, TikTok 5, Instagram 12, and result counts scale accordingly. Overage on paid plans is $3 per 1,000 credits on Pro and $2 per 1,000 credits on Max. Count-only tools (countTweets, checkAccessKeyStatus) do not consume credits. Current plan details: /pricing.

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 credit 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, on Pro and Max, wait for the monthly reset (Free credits are a one-time allocation and do not reset). checkAccessKeyStatus returns the live remaining quota.

Retry guidance

Avoiding rate limits

Related