NewFans API, previously OnlyFans API · A new name. A broader platform.
Fans API
OnlyFansChat Messages

List Pinned Chat Messages

Get pinned messages from a specific chat. Requires API-key read permission.

Returns the same message objects and pagination as List Chat Messages. The pinned filter is always applied and cannot be overridden. The original filter=pinned listing remains supported.

Use isPinned for the current pin state and canBePinned for pin eligibility in the standard message response. Follow _pagination.next_page until it is null; a short page can still have more results. For messages sent by the connected account, seenByFan is true if the fan has seen the message and false otherwise. It is null for messages sent by the fan or when read status is unavailable.

Use Pin Message or Unpin Message to change the pin state.

GET
/api/{account}/chats/{chat_id}/messages/pinned
AuthorizationBearer <token>

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

In: header

Path Parameters

account*string

The Account ID

chat_id*string

The ID of the chat (usually a fan's OnlyFans User ID)

Query Parameters

limit?string

The number of messages to return (default = 10, max = 100)

first_id?string|null

Use for pagination when order=desc (newest to oldest). Pass the last message ID from the previous page to retrieve older messages, excluding that cursor message.

last_id?string|null

Use for pagination when order=asc (oldest to newest). Include this message ID as the first message in the results. The response is ordered oldest first.

order?string

Sort order for messages (desc or asc)

skip_users?string

Whether to skip user details (all or none).

Response Body

application/json

curl -X GET "https://app.onlyfansapi.com/api/acct_XXXXXXXXXXXXXXX/chats/123/messages/pinned?limit=10&first_id=123&last_id=123&order=desc&skip_users=all"
{
  "data": [
    {
      "responseType": "message",
      "text": "<p>Example pinned message</p>",
      "giphyId": null,
      "lockedText": false,
      "isFree": true,
      "price": 0,
      "isMediaReady": true,
      "mediaCount": 0,
      "media": [],
      "previews": [],
      "isTip": false,
      "isReportedByMe": false,
      "isCouplePeopleMedia": false,
      "queueId": null,
      "isMarkdownDisabled": true,
      "releaseForms": [],
      "fromUser": {
        "id": 987654321,
        "_view": "s"
      },
      "isFromQueue": false,
      "id": 1234567890123,
      "isOpened": false,
      "isNew": true,
      "createdAt": "2025-09-02T21:02:18+00:00",
      "changedAt": "2025-09-02T21:02:18+00:00",
      "cancelSeconds": 0,
      "isLiked": false,
      "canPurchase": false,
      "canPurchaseReason": "free",
      "canReport": false,
      "canBePinned": true,
      "isPinned": true,
      "isSentByMe": true,
      "seenByFan": false
    }
  ],
  "_pagination": {
    "next_page": "https://app.onlyfansapi.com/api/acct_ANONYMIZED_ACCOUNT_ID/chats/987654321/messages/pinned?limit=10&order=desc&first_id=1234567890123"
  },
  "_meta": {
    "_credits": {
      "used": 1,
      "balance": 224891,
      "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": 49984
    }
  }
}