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

Top Message

Get the top performing message by purchases in the selected timeframe.

GET
/api/{account}/engagement/messages/top-message
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

startDate?string

The start date for the period. Keep empty to retrieve from the model start date.

endDate?string

The end date for the period. Keep empty to retrieve until now. MUST BE DATE AFTER startDate.

Response Body

application/json

curl -X GET "https://app.onlyfansapi.com/api/acct_XXXXXXXXXXXXXXX/engagement/messages/top-message?startDate=2026-01-07+00%3A00%3A00&endDate=2026-02-06+01%3A26%3A15"
{
  "data": {
    "purchases": {
      "id": 6677889900,
      "date": "2024-06-30T12:53:42+00:00",
      "responseType": "message",
      "text": "This is the hardest i've ever been fucked... would you make me cum more than this?? 🥵💦",
      "rawText": "This is the hardest i've ever been fucked... would you make me cum more than this?? 🥵💦",
      "giphyId": null,
      "isFree": false,
      "isMediaReady": true,
      "mediaCount": 1,
      "media": [
        {
          "id": 7788990011,
          "type": "video",
          "convertedToVideo": false,
          "canView": true,
          "hasError": false,
          "createdAt": "2023-01-31T13:14:15+00:00",
          "isReady": true,
          "files": {
            "full": {
              "url": "https://cdn.example.com/files/placeholder/video_source.mp4",
              "width": 1080,
              "height": 1920,
              "size": 0,
              "sources": []
            },
            "thumb": {
              "url": "https://cdn.example.com/files/placeholder/thumb.jpg",
              "width": 300,
              "height": 300,
              "size": 0
            },
            "preview": {
              "url": "https://cdn.example.com/files/placeholder/preview.jpg",
              "width": 960,
              "height": 1707,
              "size": 0
            },
            "squarePreview": {
              "url": "https://cdn.example.com/files/placeholder/square.jpg",
              "width": 960,
              "height": 960,
              "size": 0
            }
          },
          "duration": 528,
          "hasCustomPreview": false,
          "videoSources": {
            "240": "https://cdn.example.com/files/placeholder/video_240p.mp4",
            "720": "https://cdn.example.com/files/placeholder/video_720p.mp4"
          }
        }
      ],
      "previews": [],
      "isTip": false,
      "isReportedByMe": false,
      "viewedCount": 9360,
      "sentCount": 15802,
      "isCanceled": true,
      "template": "group",
      "canUnsend": false,
      "unsendSeconds": 0,
      "price": "98.00",
      "purchasedCount": 146,
      "canSendMessageToBuyers": true,
      "totalRevenueGenerated": "14308.00",
      "relationships": {
        "buyers": {
          "href": "https://app.onlyfansapi.com/api/acct_XXXXXXXXXX/engagement/messages/6677889900/buyers?limit=10&offset=0&skip_users_dups=1&marker=0",
          "method": "GET"
        }
      }
    }
  },
  "_meta": {
    "_credits": {
      "used": 1,
      "balance": 11335469,
      "note": "Always"
    },
    "_cache": {
      "is_cached": false,
      "note": "Cache disabled for this endpoint"
    },
    "_rate_limits": {
      "limit_minute": 5000,
      "limit_day": null,
      "remaining_minute": 4999,
      "remaining_day": null,
      "notice": "We have decided to remove our daily rate limits. Please remove any references to these in your integrations."
    }
  }
}