We just released our native n8n integration!» Try now
OnlyFans API
Chat Messages

List Chat Messages

Get messages from a specific chat.

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

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

In: header

Path Parameters

accountstring

The Account ID

chat_idstring

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

Query Parameters

filter?string

Filter by certain messages. Currently, only pins are filterable.

Value in"pinned"
id?string

ID of the last message from previous page. Used for pagination

first_id?string | null

Include this message ID as the first message in the results. Used to retrieve messages from e.g. the Search Chat Messages endpoint IDs.

order?string

Sort order for messages (desc or asc)

skip_users?string

Whether to skip user details (all or none)

Response Body

curl -X GET "https://app.onlyfansapi.com/api/string/chats/string/messages?filter=pinned&id=123&first_id=123&order=desc&skip_users=all"
{
  "data": [
    {
      "responseType": "message",
      "text": "<p>yes lets do it</p>",
      "giphyId": null,
      "lockedText": false,
      "isFree": true,
      "price": 0,
      "isMediaReady": true,
      "mediaCount": 0,
      "media": [],
      "previews": [],
      "isTip": false,
      "isReportedByMe": false,
      "isCouplePeopleMedia": false,
      "queueId": 12345678901,
      "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": 86396,
      "isLiked": false,
      "canPurchase": false,
      "canPurchaseReason": "free",
      "canReport": false,
      "canBePinned": true,
      "isPinned": false,
      "isSentByMe": true
    },
    {
      "responseType": "message",
      "text": "<p>Are you ready for video call now ? </p>",
      "giphyId": null,
      "lockedText": false,
      "isFree": true,
      "price": 0,
      "isMediaReady": true,
      "mediaCount": 1,
      "media": [
        {
          "id": 9876543210,
          "type": "video",
          "convertedToVideo": false,
          "canView": true,
          "hasError": false,
          "createdAt": null,
          "isReady": true,
          "files": {
            "full": {
              "url": null,
              "width": 480,
              "height": 848,
              "size": 0,
              "sources": []
            },
            "thumb": {
              "url": "https://cdn2.onlyfans.com/files/ANONYMIZED_PATH/300x300_ANONYMIZED_FILENAME.jpg?Tag=2&u=987654321&Policy=ANONYMIZED_POLICY&Signature=ANONYMIZED_SIGNATURE&Key-Pair-Id=ANONYMIZED_KEY_PAIR_ID",
              "width": 300,
              "height": 300,
              "size": 0
            },
            "preview": {
              "url": "https://cdn2.onlyfans.com/files/ANONYMIZED_PATH/480x848_ANONYMIZED_FILENAME.jpg?Tag=2&u=987654321&Policy=ANONYMIZED_POLICY&Signature=ANONYMIZED_SIGNATURE&Key-Pair-Id=ANONYMIZED_KEY_PAIR_ID",
              "width": 480,
              "height": 848,
              "size": 0
            },
            "squarePreview": {
              "url": "https://cdn2.onlyfans.com/files/ANONYMIZED_PATH/960x960_ANONYMIZED_FILENAME.jpg?Tag=2&u=987654321&Policy=ANONYMIZED_POLICY&Signature=ANONYMIZED_SIGNATURE&Key-Pair-Id=ANONYMIZED_KEY_PAIR_ID",
              "width": 960,
              "height": 960,
              "size": 0
            },
            "drm": {
              "manifest": {
                "hls": "https://cdn3.onlyfans.com/hls/files/ANONYMIZED_PATH/ANONYMIZED_FILENAME.m3u8",
                "dash": "https://cdn3.onlyfans.com/dash/files/ANONYMIZED_PATH/ANONYMIZED_FILENAME.mpd"
              },
              "signature": {
                "hls": {
                  "CloudFront-Policy": "ANONYMIZED_CLOUDFRONT_POLICY",
                  "CloudFront-Signature": "ANONYMIZED_CLOUDFRONT_SIGNATURE",
                  "CloudFront-Key-Pair-Id": "ANONYMIZED_CLOUDFRONT_KEY_PAIR_ID"
                },
                "dash": {
                  "CloudFront-Policy": "ANONYMIZED_CLOUDFRONT_POLICY",
                  "CloudFront-Signature": "ANONYMIZED_CLOUDFRONT_SIGNATURE",
                  "CloudFront-Key-Pair-Id": "ANONYMIZED_CLOUDFRONT_KEY_PAIR_ID"
                }
              }
            }
          },
          "duration": 9,
          "hasCustomPreview": false,
          "videoSources": {
            "240": null,
            "720": null
          }
        }
      ],
      "previews": [],
      "isTip": false,
      "isReportedByMe": false,
      "isCouplePeopleMedia": false,
      "queueId": 12345678902,
      "isMarkdownDisabled": true,
      "fromUser": {
        "id": 123456789,
        "_view": "s"
      },
      "isFromQueue": true,
      "canUnsendQueue": true,
      "unsendSecondsQueue": 1000000,
      "id": 1234567890124,
      "isOpened": false,
      "isNew": false,
      "createdAt": "2025-09-02T20:35:13+00:00",
      "changedAt": "2025-09-02T20:35:13+00:00",
      "cancelSeconds": 85047,
      "isLiked": false,
      "canPurchase": false,
      "canPurchaseReason": "free",
      "canReport": true,
      "canBePinned": true,
      "isPinned": false,
      "isSentByMe": false
    }
  ],
  "_pagination": {
    "next_page": "https://app.onlyfansapi.com/api/acct_ANONYMIZED_ACCOUNT_ID/chats/987654321/messages?order=desc&skip_users=all&id=1234567890125"
  },
  "_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
    }
  }
}