List Top Spenders
List the creator's highest-spending fans over a date range, with their gross and net totals in USD cents and how many messages they exchanged. Proxies Fanvue's GET /v1/insights/top-spenders.
The date range is part of the ordering, so the cursor carries it: once cursor is supplied, startDate and endDate are ignored and the walk continues over the range the first page used. Start a new walk without a cursor to change the range.
Totals are a snapshot taken when the walk starts, which is what keeps fans from moving between pages. A payment that lands mid-walk is counted on no page of it; start a new walk to pick it up. A fan can occasionally appear twice, so de-duplicate on user.uuid.
Authorization
default Get your API Key from OnlyFansAPI Console - https://app.onlyfansapi.com/api-keys
In: header
Path Parameters
The Fanvue Account ID
Query Parameters
Only count spending on or after this ISO 8601 datetime. Ignored when cursor is given.
Only count spending before this ISO 8601 datetime (non-inclusive). Ignored when cursor is given.
Opaque pagination cursor from a previous response's nextCursor.
Number of fans to return (1 - 50). Default = 15
Response Body
application/json
curl -X GET "https://app.onlyfansapi.com/api/fanvue/fanvue_acct_XXXXXXXXXXXXXXX/insights/top-spenders?startDate=2026-01-01T00%3A00%3A00Z&endDate=2026-02-01T00%3A00%3A00Z&cursor=eyJ2IjoxfQ&size=15"{
"data": {
"data": [
{
"gross": 15000,
"net": 12750,
"messages": 342,
"user": {
"uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"handle": "sarah-jones",
"displayName": "Sarah Jones",
"nickname": "SarahK",
"isTopSpender": true,
"avatarUrl": "https://media.fanvue.com/avatars/example-avatar.jpg",
"registeredAt": "2024-01-10T12:00:00.000Z"
}
}
],
"nextCursor": null,
"total": 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."
}
}
}