Skip to main content
Limits keep your creators’ OnlyFans accounts safe (OnlyFans watches for unnatural activity) and keep OnlyX fast for everyone. They apply per credential (an API key or an OAuth connection) unless the table says otherwise. MCP tool calls count against the credential they use.

The limits

A request counts against every limit that applies to it: a send counts toward the 120-request limit, the 30-sends limit and the creator’s hourly send limit. The failed-authentication limit only ever refuses credentials OnlyX does not recognize: over it, such requests get 429 instead of 401. A valid key is never refused because of other failures from the same address, and an expired or revoked credential always gets its normal 401.

Headers

Every /v1 response to an authenticated request tells you where you stand, for the tightest limit the request counted against: GET /v1/me also returns your general limit as rateLimit: {"limit": 120, "windowSeconds": 60}.

When you hit a limit

You get 429 Too Many Requests with a Retry-After header (seconds) and the standard error body:
Wait at least Retry-After seconds before retrying. A 429 never performs the action, so retrying a write after waiting is safe; use the same Idempotency-Key anyway.

Backoff example

Staying under the limits

  • Watch X-RateLimit-Remaining and slow down before it reaches 0 instead of waiting for a 429.
  • Cache reads that change slowly: creators, reports, fan lists, tracking links.
  • Poll gently: connection status every 10 seconds at most while a creator signs in, message delivery every 5 to 10 seconds, the overview report only when Retry-After says so.
  • Page with limit=100 (or 50 for conversations) rather than many small pages.
  • Spread sends out. The creator-wide limit of 300 sends per hour applies whatever key you use, and a natural pace is better for the account anyway.
  • One key per integration. Each integration then has its own 120-per-minute budget and cannot starve another.