OnlyFans API
FanslyChats

List Chat Messages

Get the messages for a specific chat. The response also includes aggregated content referenced from the messages — accountMedia, accountMediaBundles, tips, tipGoals, accountMediaOrders, stories, storyOrders.

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

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

In: header

Path Parameters

fanslyAccount*string

The Fansly Account ID

chat_id*string

The Fansly chat (group) ID.

Query Parameters

limit?string

Number of messages to return (1 - 100). Default = 25

before?string

Cursor for older messages — the ID of a message you've already received. Pass the oldest message ID from the previous page to fetch the next page. Leave empty for the most recent messages.

Response Body

application/json

curl -X GET "https://app.onlyfansapi.com/api/fansly/fansly_acct_XXXXXXXXXXXXXXX/chats/918197836133183488/messages?limit=25&before=918197866982297600"
{
  "data": {
    "messages": [
      {
        "id": "400000000000000003",
        "type": 1,
        "dataVersion": 1,
        "content": "Message text three",
        "groupId": "200000000000000001",
        "senderId": "300000000000000001",
        "correlationId": "400000000000000093",
        "inReplyTo": null,
        "inReplyToRoot": null,
        "createdAt": 1700000200,
        "attachments": [],
        "embeds": [],
        "interactions": [
          {
            "userId": "100000000000000001",
            "readAt": 1700000200,
            "deliveredAt": 1700000200
          }
        ],
        "likes": [],
        "totalTipAmount": 0
      },
      {
        "id": "400000000000000002",
        "type": 1,
        "dataVersion": 1,
        "content": "Message text two",
        "groupId": "200000000000000001",
        "senderId": "300000000000000001",
        "correlationId": "400000000000000092",
        "inReplyTo": null,
        "inReplyToRoot": null,
        "createdAt": 1700000100,
        "attachments": [
          {
            "messageId": "400000000000000002",
            "contentType": 1,
            "contentId": "700000000000000001",
            "pos": 0
          }
        ],
        "embeds": [],
        "interactions": [],
        "likes": [],
        "totalTipAmount": 0
      },
      {
        "id": "400000000000000001",
        "type": 1,
        "dataVersion": 1,
        "content": "Message text one",
        "groupId": "200000000000000001",
        "senderId": "300000000000000001",
        "correlationId": "400000000000000091",
        "inReplyTo": null,
        "inReplyToRoot": null,
        "createdAt": 1700000000,
        "attachments": [],
        "embeds": [],
        "interactions": [],
        "likes": [],
        "totalTipAmount": 0
      }
    ],
    "accountMedia": [
      {
        "id": "700000000000000001",
        "accountId": "300000000000000001",
        "mediaId": "800000000000000001",
        "previewId": null,
        "permissionFlags": 0,
        "price": 0,
        "createdAt": 1700000000,
        "deletedAt": null,
        "deleted": false,
        "permissions": {
          "permissionFlags": [],
          "accountPermissionFlags": {
            "flags": 2,
            "metadata": "{}"
          }
        },
        "likeCount": 0,
        "media": {
          "id": "800000000000000001",
          "type": 1,
          "status": 1,
          "accountId": "300000000000000001",
          "mimetype": "image/jpeg",
          "flags": 0,
          "location": "/300000000000000001/800000000000000001.jpeg",
          "width": 1080,
          "height": 1440,
          "metadata": "{\"resolutionMode\":2}",
          "updatedAt": 1700000000,
          "createdAt": 1700000000,
          "variants": [],
          "variantHash": {},
          "locations": [
            {
              "locationId": "1",
              "location": "https://cdn3.fansly.com/300000000000000001/800000000000000001.jpeg"
            }
          ]
        },
        "purchased": false,
        "whitelisted": false,
        "accountPermissionFlags": 2,
        "access": true
      }
    ],
    "accountMediaBundles": [],
    "tips": [],
    "tipGoals": [],
    "accountMediaOrders": [],
    "stories": [],
    "storyOrders": [],
    "hasMore": false
  },
  "_pagination": {
    "next_page": null
  },
  "_meta": {
    "_credits": {
      "used": 1,
      "balance": 10055812,
      "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."
    }
  }
}