Chats

List Chat Media

Returns messages containing media (photos/videos/audios) exchanged in a 1:1 chat — the per-fan shared-media gallery shown under a fan's profile "Media" tab on OnlyFans. Cursor-based pagination via last_id. Filter by media type, opened state, and purchase state. Requires permission api_chats_list_media.

https://public-api.buffmetrics.com
GET/v1/{account_id}/chats/{user_id}/media
Bearer

Authorization

default
AuthorizationBearer <token>

Send your FansMetric API key as a Bearer token in the Authorization header.

In: header

Path Parameters

  • account_id*integer

    OnlyFans numeric account ID.

  • user_id*integer

    Fan/user ID of the conversation.

Query Parameters

  • limitinteger

    Number of items. Default 15. Min 1, max 50.

  • last_idinteger

    Cursor — use data.nextLastId from the previous response. Omit for the first page.

  • typestring

    Filter by media type. One of photos, videos, audios (plural). Omit for all types. Routes to OnlyFans' per-type sub-path internally.

  • openedstring

    Boolean. Set true to return only media the fan has already opened/viewed. Accepts true/false and 1/0. Default false.

  • purchasedstring

    Boolean. Set true to return only purchased (PPV-unlocked) media. Usually combined with from_user. Accepts true/false and 1/0. Default false.

  • from_userstring

    Numeric user ID. Scope purchased=true to media bought from this specific buyer (typically the same fan as user_id).

curl --request GET "https://public-api.buffmetrics.com/v1/acct_XXXXX/chats/sample_user_id/media?limit=20&last_id=sample_last_id&type=all" \
  --header "Authorization: Bearer YOUR_API_KEY"

Response

200
{
"data":{
"list":[
0:{
"responseType":"message"
"id":1000000000003
"text":"<p>message text</p>"
"mediaCount":1
"media":[
0:{
"id":1000000005
"type":"photo"
"isReady":true
"files":{
"full":{
"url":"..."
"width":960
"height":1280
}
"thumb":{
"url":"..."
"width":300
"height":300
}
}
}
]
"createdAt":"2026-05-14T18:05:07+00:00"
"fromUser":{
"id":100000001
}
}
]
"hasMore":true
"nextLastId":"1000000000002"
}
"_pagination":{
"next_page":"/v1/100000001/chats/100000002/media?limit=15&last_id=1000000000002"
}
"_meta":{
"_credits":{
"used":1
}
"_rate_limits":{
"limit_minute":1000
"remaining_minute":995
"limit_day":50000
"remaining_day":49995
}
}
}