Highlights
Top Highlights
Returns the single top-performing record per metric for a content category over a date window — the post / message / stream / story / fan that scored highest on each leaderboard slot. The "highlights" view used to populate the OnlyFans "Top of period" cards. Requires permission api_highlights_read.
https://public-api.fansmetric.comAuthorization
defaultAuthorizationBearer <token>Send your FansMetric API key as a Bearer token in the Authorization header.
In: header
Path Parameters
account_id*integerOnlyFans numeric account ID.
category*stringOne of
post,message,stream,story,fan.
Query Parameters
start_datestringWindow start. Default 2 years ago, UTC. Format
YYYY-MM-DD HH:MM:SSor ISO 8601.end_datestringWindow end. Default end of today, UTC. Same format as
start_date.
Response Fields
data.purchasesobject|nullTop record by purchases (PPV/post unlocks).
nullif no data in window. Omitted forcategory=story(stories aren't purchasable).data.tipsobject|nullTop record by tips.
nullif no tips in window.data.viewsobject|nullTop record by views.
nullif no data.data.likesobject|nullTop record by likes.
data.commentsobject|nullTop record by comments.
data.<slot>objectFor
category=fan, slots aretotal,subscriptions,tips,messages,streams. Each is a full user object withsubscribedOnDatacontaining per-revenue-stream lifetime sums.dataobject | arrayEndpoint-specific payload. See the fields below for this route.
_meta._credits.usedintegerCredits consumed by this request (currently always
1)._meta._rate_limits.limit_minuteintegerMaximum requests per minute for the organization.
_meta._rate_limits.remaining_minuteintegerRemaining requests in the current minute window.
_meta._rate_limits.limit_dayintegerMaximum requests per day for the organization.
_meta._rate_limits.remaining_dayintegerRemaining requests in the current day window.
| Field | Type | Description |
|---|---|---|
| data.purchases | object|null | Top record by purchases (PPV/post unlocks). null if no data in window. Omitted for category=story (stories aren't purchasable). |
| data.tips | object|null | Top record by tips. null if no tips in window. |
| data.views | object|null | Top record by views. null if no data. |
| data.likes | object|null | Top record by likes. |
| data.comments | object|null | Top record by comments. |
| data.<slot> | object | For category=fan, slots are total, subscriptions, tips, messages, streams. Each is a full user object with subscribedOnData containing per-revenue-stream lifetime sums. |
| data | object | array | Endpoint-specific payload. See the fields below for this route. |
| _meta._credits.used | integer | Credits consumed by this request (currently always 1). |
| _meta._rate_limits.limit_minute | integer | Maximum requests per minute for the organization. |
| _meta._rate_limits.remaining_minute | integer | Remaining requests in the current minute window. |
| _meta._rate_limits.limit_day | integer | Maximum requests per day for the organization. |
| _meta._rate_limits.remaining_day | integer | Remaining requests in the current day window. |
curl --request GET "https://public-api.fansmetric.com/v1/100000001/highlights/sample_category?start_date=2026-01-01%2000%3A00%3A00&end_date=2026-01-31%2023%3A59%3A59" \
--header "Authorization: Bearer YOUR_API_KEY"Response
200