curl --request GET \
--url https://app.onlyfansapi.com/api/{account}/chats/{chat_id}/messages \
--header 'Authorization: Bearer <token>'
{
"data": {
"list": [
{
"responseType": "message",
"text": "<p>Message text</p>",
"giphyId": null,
"lockedText": false,
"isFree": true,
"price": 0,
"isMediaReady": true,
"mediaCount": 1,
"media": [
{
"id": 3581806503,
"type": "photo",
"convertedToVideo": false,
"canView": true,
"hasError": false,
"createdAt": null,
"isReady": true,
"files": {
"full": {
"url": "https://cdn2.onlyfans.com/files/...",
"width": 3840,
"height": 5760,
"size": 0,
"sources": []
}
},
"duration": 0,
"hasCustomPreview": false
}
],
"previews": [],
"isTip": false,
"isReportedByMe": false,
"isCouplePeopleMedia": false,
"queueId": 123,
"isMarkdownDisabled": true,
"fromUser": {
"id": 458485726,
"_view": "s"
},
"isFromQueue": false,
"id": 123,
"isOpened": false,
"isNew": false,
"createdAt": "2025-01-27T23:34:25+00:00",
"changedAt": "2025-01-27T23:34:25+00:00",
"cancelSeconds": 0,
"isLiked": false,
"canPurchase": false,
"canPurchaseReason": "free",
"canReport": true,
"canBePinned": true,
"isPinned": false
}
],
"hasMore": true
},
"_meta": {
"_credits": {
"used": 1,
"balance": 1,
"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": 49999
}
}
}
Get messages from a specific chat.
curl --request GET \
--url https://app.onlyfansapi.com/api/{account}/chats/{chat_id}/messages \
--header 'Authorization: Bearer <token>'
{
"data": {
"list": [
{
"responseType": "message",
"text": "<p>Message text</p>",
"giphyId": null,
"lockedText": false,
"isFree": true,
"price": 0,
"isMediaReady": true,
"mediaCount": 1,
"media": [
{
"id": 3581806503,
"type": "photo",
"convertedToVideo": false,
"canView": true,
"hasError": false,
"createdAt": null,
"isReady": true,
"files": {
"full": {
"url": "https://cdn2.onlyfans.com/files/...",
"width": 3840,
"height": 5760,
"size": 0,
"sources": []
}
},
"duration": 0,
"hasCustomPreview": false
}
],
"previews": [],
"isTip": false,
"isReportedByMe": false,
"isCouplePeopleMedia": false,
"queueId": 123,
"isMarkdownDisabled": true,
"fromUser": {
"id": 458485726,
"_view": "s"
},
"isFromQueue": false,
"id": 123,
"isOpened": false,
"isNew": false,
"createdAt": "2025-01-27T23:34:25+00:00",
"changedAt": "2025-01-27T23:34:25+00:00",
"cancelSeconds": 0,
"isLiked": false,
"canPurchase": false,
"canPurchaseReason": "free",
"canReport": true,
"canBePinned": true,
"isPinned": false
}
],
"hasMore": true
},
"_meta": {
"_credits": {
"used": 1,
"balance": 1,
"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": 49999
}
}
}
You can retrieve your token by visiting the OnlyFansAPI Console and clicking API Keys -> Create API Key.
The Account ID
The ID of the chat (usually a fan's OnlyFans User ID)
Number of messages to return (10, 20, or 30)
10
ID of the last message from previous page. Used for pagination
111222333
Sort order for messages (desc or asc)
"desc"
Whether to skip user details (all or none)
"all"
Success
The response is of type object
.