List Chat Messages
Page a chat's message history. Proxies Fanvue's GET /v1/chats/{userUuid}/messages, which pages with dates rather than an opaque cursor: pass the dateFilter returned with the previous page back as sentBefore and receivedBefore to fetch older messages. A null dateFilter means there are no more.
Authorization
default Get your API Key from OnlyFansAPI Console - https://app.onlyfansapi.com/api-keys
In: header
Path Parameters
The Fanvue Account ID
The fan's Fanvue user UUID. Chats are keyed by the counterpart, so this is also the chat id.
Query Parameters
Number of messages to return (1 - 50). Default = 20
Fetch messages sent before this date, from the previous page's dateFilter.
Fetch messages received before this date, from the previous page's dateFilter.
Mark the chat as read after retrieving the messages: true or false. Default = false
Response Body
application/json
curl -X GET "https://app.onlyfansapi.com/api/fanvue/fanvue_acct_XXXXXXXXXXXXXXX/chats/f47ac10b-58cc-4372-a567-0e02b2c3d479/messages?limit=20&sentBefore=2026-09-18&receivedBefore=2026-09-18&markAsRead=false"{
"data": {
"data": [
{
"uuid": "9c2d4f81-77a3-4e60-b1c5-2a8e6d0f4b12",
"text": "Ignore that last one",
"gif": null,
"sentAt": "2026-09-22T10:54:05.205Z",
"sender": {
"uuid": "3bbe6394-2830-4646-a8ba-4a0a05426947",
"handle": "jane"
},
"recipient": {
"uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"handle": "sarah-jones"
},
"type": "SINGLE_RECIPIENT",
"status": "UNSENT",
"isRead": false,
"isSubscribed": true,
"isFollowing": false,
"followForFreeEnabled": true,
"repliedMessage": null,
"sentByUserId": null,
"appUuid": "c4a1f28d-3b56-4e97-8f01-6d2b9e5a7c43"
},
{
"uuid": "3b1f0a6c-92f1-4a58-9d0e-7c4b2a5f8d33",
"text": "See you tonight!",
"gif": null,
"sentAt": "2026-09-22T10:46:04.712Z",
"sender": {
"uuid": "3bbe6394-2830-4646-a8ba-4a0a05426947",
"handle": "jane"
},
"recipient": {
"uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"handle": "sarah-jones"
},
"type": "SINGLE_RECIPIENT",
"status": "SENT",
"isRead": true,
"isSubscribed": true,
"isFollowing": false,
"followForFreeEnabled": true,
"repliedMessage": null,
"sentByUserId": null,
"appUuid": "c4a1f28d-3b56-4e97-8f01-6d2b9e5a7c43"
},
{
"uuid": "5a8b3c21-4d7e-49f0-8b16-0c3e5f7a9d24",
"text": "Hey, how's your week going?",
"gif": null,
"sentAt": "2026-09-22T10:30:04.609Z",
"sender": {
"uuid": "3bbe6394-2830-4646-a8ba-4a0a05426947",
"handle": "jane"
},
"recipient": {
"uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"handle": "sarah-jones"
},
"type": "SINGLE_RECIPIENT",
"status": "SENT",
"isRead": true,
"isSubscribed": true,
"isFollowing": false,
"followForFreeEnabled": true,
"repliedMessage": null,
"sentByUserId": null,
"appUuid": null
},
{
"uuid": "7e1c9a35-6b28-4f53-9a07-1d4b8e2c6f90",
"text": "Just subscribed! How's your day going?",
"gif": null,
"sentAt": "2026-09-22T10:29:14.306Z",
"sender": {
"uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"handle": "sarah-jones"
},
"recipient": {
"uuid": "3bbe6394-2830-4646-a8ba-4a0a05426947",
"handle": "jane"
},
"type": "SINGLE_RECIPIENT",
"status": "SENT",
"isRead": true,
"isSubscribed": false,
"isFollowing": false,
"followForFreeEnabled": false,
"repliedMessage": null,
"sentByUserId": null,
"appUuid": null
}
],
"dateFilter": null
},
"_meta": {
"_credits": {
"used": 1,
"balance": 10055811,
"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."
}
}
}