Following

List Active Followings

Changed on

Get a paginated list of followings for an Account. By default OnlyFans returns this list newest-first, sorted by subscribedByData.subscribeAt descending. The expired list does not share this order, so do not assume it applies there. Pass sort (optionally with sortDirection) to reorder the list — see the parameter description for the caveat that OnlyFans persists the chosen order account-wide. An empty page is not the end of the list: OnlyFans applies offset to the whole following collection before filtering it down to the requested list, so a page can come back empty while more results follow. Keep following _pagination.next_page until it is null instead of stopping at the first empty page.

get/api/{account}/following/active

Request

  • Base URL
    https://app.onlyfansapi.com
  • URL
    https://app.onlyfansapi.com/api/{account}/following/active
  • Auth
    HTTP bearer

Query parameters

limitinteger

Number of followings to return (1-50). Must be at least 1. Must not be greater than 50.

Example:10
offsetinteger

Pagination offset. Must be at least 0.

querystring nullable

Search within following name/username.

Example:john
filterobject
filter.online1 | 0 nullable

Filter by online status (1 for online, 0 for offline, null for all).

Example:1
filter.paid1 | 0 nullable

Filter by paid status (1 for paid, 0 for free, null for all).

Example:1
sort'last_activity' | 'expire_date' | 'subscribe_date' | 'is_expired' nullable

Order the list by last_activity (the followed creator's last activity), expire_date (subscription expiry), subscribe_date (subscription start) or is_expired (expired first — OnlyFans only offers this one on the expired list). Omit it to keep whichever order is currently stored for the account. Note: OnlyFans persists this order account-wide, so it also applies to later requests that omit sort and to the creator's own onlyfans.com UI, until it is changed again. Expired list: OnlyFans applies offset to the whole following collection and only then filters it down to expired subscriptions, so ordering by expiry descending puts the still-active subscriptions first and moves the expired rows to the tail of the collection — the first several hundred offsets then come back empty. Use sortDirection=asc or sort=is_expired to get expired-first results. For that reason sort=expire_date on the expired list defaults to asc instead of desc when you do not pass sortDirection. Whatever order you pick, an empty page is not the end of the list: keep following _pagination.next_page until it is null rather than stopping at the first empty page. This field is required when <code>sortDirection</code> is present.

Example:subscribe_date
sortDirection'asc' | 'desc' nullable

Direction for sort: desc (default) or asc. Requires sort to be set. Exception: sort=expire_date on the expired list defaults to asc, because desc moves the expired rows to the tail of the underlying collection and leaves the early pages empty. Passing sortDirection explicitly always wins.

Example:desc

Response

Example response

{
  "data": {
    "list": [
      {
        "view": "x",
        "avatar": "https://public.onlyfans.com/files/j/jr/jrh/jrhrmrkcgwyldumcgfgsij7h9hncsf3b1640855614/avatar.jpg",
        "avatarThumbs": {
          "c50": "https://thumbs.onlyfans.com/public/files/thumbs/c50/j/jr/jrh/jrhrmrkcgwyldumcgfgsij7h9hncsf3b1640855614/avatar.jpg",
          "c144": "https://thumbs.onlyfans.com/public/files/thumbs/c144/j/jr/jrh/jrhrmrkcgwyldumcgfgsij7h9hncsf3b1640855614/avatar.jpg"
        },
        "header": "https://public.onlyfans.com/files/x/xl/xlu/xlusgobxpcebctdptohj7bogxvl9flfu1671047829/254/header.jpg",
        "headerSize": {
          "width": 4868,
          "height": 851
        },
        "headerThumbs": {
          "w480": "https://thumbs.onlyfans.com/public/files/thumbs/w480/x/xl/xlu/xlusgobxpcebctdptohj7bogxvl9flfu1671047829/254/header.jpg",
          "w760": "https://thumbs.onlyfans.com/public/files/thumbs/w760/x/xl/xlu/xlusgobxpcebctdptohj7bogxvl9flfu1671047829/254/header.jpg"
        },
        "id": 254,
        "name": "OnlyFans Creators",
        "username": "onlyfanscreators",
        "canLookStory": true,
        "canCommentStory": false,
        "hasNotViewedStory": false,
        "isVerified": true,
        "canPayInternal": true,
        "hasScheduledStream": false,
        "hasStream": false,
        "hasStories": false,
        "tipsEnabled": true,
        "tipsTextEnabled": false,
        "tipsMin": 5,
        "tipsMinInternal": 1,
        "tipsMax": 200,
        "canEarn": true,
        "canAddSubscriber": false,
        "subscribePrice": 0,
        "isPaywallRequired": true,
        "isRestricted": false,
        "canRestrict": true,
        "subscribedBy": true,
        "subscribedByExpire": false,
        "subscribedByExpireDate": "2025-01-01T00:00:00+00:00",
        "subscribedByAutoprolong": true,
        "subscribedIsExpiredNow": false,
        "currentSubscribePrice": 0,
        "subscribedOn": false,
        "subscribedOnExpiredNow": null,
        "subscribedOnDuration": null,
        "listsStates": [
          {
            "id": "following",
            "type": "following",
            "name": "Following",
            "hasUser": true,
            "canAddUser": false,
            "cannotAddUserReason": "ALREADY_EXISTS"
          }
        ],
        "canReport": false,
        "canReceiveChatMessage": false,
        "hideChat": false,
        "lastSeen": null,
        "isPerformer": true,
        "isRealPerformer": true,
        "subscribedByData": {
          "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": "2025-01-01T00:00:00+00:00",
          "discountFinishedAt": null,
          "discountStartedAt": null,
          "status": null,
          "isMuted": false,
          "unsubscribeReason": "No reason given",
          "duration": "4 months",
          "showPostsInFeed": true,
          "subscribes": [
            {
              "id": 123,
              "userId": 254,
              "subscriberId": 123,
              "date": "2025-01-01T00:00:00+00:00",
              "duration": 3652,
              "startDate": "2025-01-01T00:00:00+00:00",
              "expireDate": "2025-01-01T00:00:00+00:00",
              "cancelDate": null,
              "price": 0,
              "regularPrice": 0,
              "discount": 0,
              "earningId": 0,
              "action": "subscribe",
              "type": "auto",
              "offerStart": null,
              "offerEnd": null,
              "isCurrent": true
            }
          ],
          "hasActivePaidSubscriptions": false
        },
        "subscribedOnData": null,
        "canTrialSend": false,
        "isBlocked": false,
        "canUnsubscribe": true,
        "isPendingAutoprolong": false
      }
    ],
    "hasMore": true
  },
  "_pagination": {
    "next_page": "https://app.onlyfansapi.com/api/acct_abc123/following/active?offset=10&limit=10"
  },
  "_meta": {
    "_credits": {
      "used": 1,
      "balance": 999971,
      "note": "Always"
    },
    "_cache": {
      "is_cached": false,
      "note": "Cache disabled for this endpoint"
    },
    "_rate_limits": {
      "limit_minute": 1000,
      "limit_day": 50000,
      "remaining_minute": 999,
      "remaining_day": 49994
    }
  }
}

Changes

    • info

      added the new optional query request parameter sort

    • info

      added the new optional query request parameter sortDirection

    • breaking

      removed the enum value 0 from the query request parameter filter.online

    • breaking

      removed the enum value 0 from the query request parameter filter.paid

    • breaking

      removed the enum value 1 from the query request parameter filter.online

    • breaking

      removed the enum value 1 from the query request parameter filter.paid

    • info

      added the new optional query request parameter query

    • info

      added the new enum value 0.00 to the query request parameter filter.online

    • info

      added the new enum value 0.00 to the query request parameter filter.paid

    • info

      added the new enum value 1.00 to the query request parameter filter.online

    • info

      added the new enum value 1.00 to the query request parameter filter.paid

    • info

      removed the non-success response with the status

    • info

      added the success response with the status