OnlyFans API
OnlyFansFans

List All Fans

Get a paginated list of fans for an Account. Newest fans are first. Paginate by following _pagination.next_page until it is null (data.hasMore is the authoritative flag). Do NOT use the page's item count to detect the last page — OnlyFans occasionally returns fewer than limit items (e.g. 19 for limit=20) on a non-final page because it filters entries server-side; no fans are skipped.

GET
/api/{account}/fans/all
AuthorizationBearer <token>

Get your API Key from OnlyFansAPI Console - https://app.onlyfansapi.com/api-keys

In: header

Path Parameters

account*string

The Account ID

Query Parameters

limit?integer

Number of fans to return (1-20). OnlyFans does not allow more than 20 per page. Must be at least 1. Must not be greater than 20.

offset?integer

Number of fans to skip. Must be at least 0.

type?string

Filter by fan type.

Value in"active" | "expired" | "all"
filter?object
filter.online?integer|null

Filter by online status (1 for online fans). Must use bracket syntax: filter[online]=1 — the dot form (filter.online=1) is NOT supported and will be ignored.

Value in1 | 0
filter.total_spent?integer

Filter by minimum amount total spent by a fan. Must use bracket syntax: filter[total_spent]=100 — the dot form (filter.total_spent=100) is NOT supported and will be ignored. Must be at least 0.

filter.tips?integer

Filter by minimum tips. Must use bracket syntax: filter[tips]=100 — the dot form (filter.tips=100) is NOT supported and will be ignored. Must be at least 0.

filter.duration?integer

Filter by minimum subscription duration in months. Must use bracket syntax: filter[duration]=1 — the dot form (filter.duration=1) is NOT supported and will be ignored. Must be at least 0.

query?string|null

Search within fan name/username.

Response Body

application/json

curl -X GET "https://app.onlyfansapi.com/api/acct_XXXXXXXXXXXXXXX/fans/all?limit=20&offset=0&filter="
{
  "data": {
    "list": [
      {
        "view": "x",
        "avatar": "https://public.onlyfans.com/files/l/la/lal/.../123/avatar.jpg",
        "avatarThumbs": {
          "c50": "https://thumbs.onlyfans.com/public/files/thumbs/c50/l/la/lal/.../123/avatar.jpg",
          "c144": "https://thumbs.onlyfans.com/public/files/thumbs/c144/l/la/lal/.../123/avatar.jpg"
        },
        "header": null,
        "headerSize": null,
        "headerThumbs": null,
        "id": 123,
        "name": "name",
        "username": "username",
        "canLookStory": false,
        "canCommentStory": false,
        "hasNotViewedStory": false,
        "isVerified": true,
        "canPayInternal": true,
        "hasScheduledStream": false,
        "hasStream": false,
        "hasStories": false,
        "tipsEnabled": false,
        "tipsTextEnabled": true,
        "tipsMin": 5,
        "tipsMinInternal": 1,
        "tipsMax": 200,
        "canEarn": true,
        "canAddSubscriber": true,
        "subscribePrice": 4.99,
        "subscriptionBundles": [],
        "displayName": "",
        "notice": "",
        "isPaywallRequired": true,
        "isRestricted": false,
        "canRestrict": true,
        "subscribedBy": false,
        "subscribedByExpire": null,
        "subscribedByExpireDate": null,
        "subscribedByAutoprolong": null,
        "subscribedIsExpiredNow": null,
        "currentSubscribePrice": null,
        "subscribedOn": true,
        "subscribedOnExpiredNow": false,
        "subscribedOnDuration": "6 days",
        "listsStates": [
          {
            "id": "following",
            "type": "following",
            "name": "Following",
            "hasUser": false,
            "canAddUser": false,
            "cannotAddUserReason": "SYSTEM_LIST"
          },
          {
            "id": "fans",
            "type": "fans",
            "name": "Fans",
            "hasUser": true,
            "canAddUser": false,
            "cannotAddUserReason": "ALREADY_EXISTS"
          },
          {
            "id": "recent",
            "type": "recent",
            "name": "Recent (last 24 hours)",
            "hasUser": false,
            "canAddUser": false,
            "cannotAddUserReason": "SYSTEM_LIST"
          },
          {
            "id": "tagged",
            "type": "tagged",
            "name": "Tagged",
            "hasUser": false,
            "canAddUser": false,
            "cannotAddUserReason": "SYSTEM_LIST"
          },
          {
            "id": "friends",
            "type": "friends",
            "name": "Friends",
            "hasUser": false,
            "canAddUser": true,
            "cannotAddUserReason": null
          },
          {
            "id": "muted",
            "type": "muted",
            "name": "Muted",
            "hasUser": false,
            "canAddUser": true,
            "cannotAddUserReason": null
          }
        ],
        "canReport": false,
        "canReceiveChatMessage": true,
        "hideChat": false,
        "lastSeen": "2025-01-01T00:00:00+00:00",
        "isPerformer": true,
        "isRealPerformer": true,
        "subscribedByData": null,
        "subscribedOnData": {
          "price": 0,
          "newPrice": 0,
          "regularPrice": 0,
          "subscribePrice": 0,
          "discountPercent": 0,
          "discountPeriod": 1,
          "subscribeAt": "2025-01-01T00:00:00+00:00",
          "expiredAt": "2025-01-01T00:00:00+00:00",
          "renewedAt": null,
          "discountFinishedAt": null,
          "discountStartedAt": null,
          "status": "Set to Expire",
          "isMuted": false,
          "unsubscribeReason": "No reason given",
          "duration": "6 days",
          "tipsSumm": 0,
          "subscribesSumm": 0,
          "messagesSumm": 0,
          "postsSumm": 0,
          "streamsSumm": 0,
          "totalSumm": 0,
          "lastActivity": "2025-01-01T00:00:00+00:00",
          "recommendations": 0,
          "subscribes": [
            {
              "id": 213,
              "userId": 123,
              "subscriberId": 123,
              "date": "2025-01-01T00:00:00+00:00",
              "duration": 7,
              "startDate": "2025-01-01T00:00:00+00:00",
              "expireDate": "2025-01-01T00:00:00+00:00",
              "cancelDate": null,
              "price": 0,
              "regularPrice": 4.99,
              "discount": 0,
              "earningId": 0,
              "action": "subscribe",
              "type": "trial",
              "offerStart": "2025-01-01T00:00:00+00:00",
              "offerEnd": "2025-01-01T00:00:00+00:00",
              "isCurrent": true
            }
          ],
          "hasActivePaidSubscriptions": false
        },
        "canTrialSend": false,
        "isBlocked": false,
        "promoOffers": [
          {
            "id": 123,
            "subscribeDays": 7,
            "createdAt": "2025-01-01T00:00:00+00:00",
            "expiredAt": "2025-01-01T00:00:00+00:00",
            "finishedAt": "2025-01-01T00:00:00+00:00",
            "subscriberId": "123",
            "userId": "123"
          }
        ]
      }
    ],
    "hasMore": true
  },
  "_pagination": {
    "next_page": null
  },
  "_meta": {
    "_credits": {
      "used": 1,
      "balance": 999999839,
      "note": "Always"
    },
    "_cache": {
      "is_cached": false,
      "note": "Cache disabled for this endpoint"
    },
    "_rate_limits": {
      "limit_minute": 10000000,
      "limit_day": 50000,
      "remaining_minute": 9999999,
      "remaining_day": 49997
    }
  }
}