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

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)

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

application/json

curl -X GET "https://app.onlyfansapi.com/api/acct_XXXXXXXXXXXXXXX/chats/123/messages?limit=10&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
    }
  }
}