Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.onlyfanskit.dev/llms.txt

Use this file to discover all available pages before exploring further.

The REST API enforces limits at three levels so one account can’t starve another and the platform stays within OnlyFans’ tolerances.
LevelWhat it limits
OrgSustained calls per minute and calls per month across the whole org.
Per-account readRead calls per minute against a single connected account.
Per-account writeWrite calls per minute against a single connected account (lower than reads).
Connect attemptsNew connect/login attempts per hour, per org.
Your exact limits depend on your plan. Read them live:
curl https://api.onlyfanskit.dev/v1/me/usage \
  -H "Authorization: Bearer $OFK_KEY"
The response includes current usage plus each window’s limit, remaining, and reset (Unix seconds):
{
  "rateLimits": {
    "org": { "limit": 600, "remaining": 591, "reset": 1700000060 },
    "accountDefaults": { "readPerMinute": 60, "writePerMinute": 20, "reset": 1700000060 }
  }
}

When you hit a limit

You receive a 429 with an RFC 9457 problem body and a Retry-After header:
HTTP/1.1 429 Too Many Requests
content-type: application/problem+json
retry-after: 12

{
  "type": "https://onlyfanskit.dev/problems/quota-exceeded",
  "title": "Rate limit exceeded",
  "status": 429,
  "detail": "Org calls-per-minute limit reached.",
  "code": "quota-exceeded",
  "retryable": true,
  "retryAfterSec": 12,
  "reason": "org_rpm",
  "limit": 600,
  "current": 600
}
Branch on retryable and wait retryAfterSec before retrying. The reason field tells you which limit you hit (org_rpm, account_write_rpm, …).

Upstream rate limits

OnlyFans itself may rate-limit a busy account. When it does, the platform relays it as a 429 problem with code: "upstream/rate-limited" and a retryAfterSec. Treat it the same way — back off and retry.
Spread bursty work (mass DMs, bulk fetches) over time and honor retryAfterSec. A steady call rate is both faster overall and safer for the connected account.