Mass Messages

Direct Message Statistics

Returns per-direct-message (1:1) delivery and engagement stats — same per-message shape as the mass-message stats endpoint, but scoped to direct messages instead of mass blasts. Requires permission api_direct_messages_stats.

https://public-api.fansmetric.com
GET/v1/{account_id}/direct-messages
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.

Query Parameters

  • limitinteger

    Number of messages to return. Default 10. Min 1, max 100.

  • start_datestring

    Earliest message date (UTC). Default 2 years ago. YYYY-MM-DD HH:MM:SS or ISO 8601.

  • end_datestring

    Latest message date (UTC). Default end of today. Used as the **cursor** for default (non-search) pagination — pass the previous response's last item date.

  • querystring

    Text search across message bodies. When set, switches pagination to offset-based.

  • offsetinteger

    Pagination offset. **Only used when query is set**; ignored otherwise.

curl --request GET "https://public-api.fansmetric.com/v1/acct_XXXXX/direct-messages?limit=20&start_date=sample_start_date&end_date=sample_end_date" \
  --header "Authorization: Bearer YOUR_API_KEY"

Response

200
{
"data":{
"hasMore":true
"items":[
0:{
"id":100000004
"date":"2026-05-14T18:05:07+00:00"
"text":"thanks for the tip!"
"sentCount":1
"viewedCount":1
"mediaCount":0
"isFree":true
"isTip":false
}
]
}
"_pagination":{
"next_page":"/v1/523213896/direct-messages?limit=10&end_date=2026-05-14+18%3A05%3A07"
}
"_meta":{
"_credits":{
"used":1
}
"_rate_limits":{
"limit_minute":1000
"remaining_minute":999
"limit_day":50000
"remaining_day":49999
}
}
}