Tracking Links

FansMetric data

List Tracking Link Claimers

The fans who claimed a tracking link, with FansMetric revenue attribution. Requires permission api_tracking_links_list_claimers.

https://public-api.fansmetric.com
GET/v1/{account_id}/fm/tracking-links/{link_id}/claimers
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.

  • link_id*integer

    Tracking link platform ID.

Query Parameters

  • limitinteger

    Results per page. Default 50, clamped to 1–100.

  • offsetinteger

    Results to skip. Default 0.

  • fieldstring

    Sort column: revenue (default), claimed_at, lifetime_revenue or lifetime_revenue_since_claim. Anything else returns 400.

  • sortstring

    asc or desc. Default desc.

  • date_startstring

    Window start (UTC). What it filters depends on claimed_in_range.

  • date_endstring

    Window end (UTC). What it filters depends on claimed_in_range.

  • claimed_in_rangeboolean

    Default false: the window filters transaction dates (revenue is windowed) and zero-revenue claimers are hidden. Set true to window claim dates instead and include zero-revenue claimers.

Response Fields

  • data.list[].idinteger

    The fan's OnlyFans user ID.

  • data.list[].usernamestring | null

    OnlyFans username.

  • data.list[].namestring | null

    Display name.

  • data.list[].avatar_urlstring | null

    Avatar URL.

  • data.list[].claimed_atstring

    When they claimed this link (RFC 3339).

  • data.list[].revenuestring

    Net revenue attributed to this link. When the fan claimed several links at the same instant, the transaction is split evenly between them.

  • data.list[].raw_revenuestring

    The same sum without the split applied — useful for reconciling against a single link in isolation.

  • data.list[].lifetime_revenuestring

    The fan's total net revenue across all connections in your organisation — every creator in the agency — all time.

  • data.list[].lifetime_revenue_since_claimstring

    Same, counting only from their claim onward.

  • data.hasMoreboolean

    true when the page came back full.

  • dataobject | array

    Endpoint-specific payload. See the fields below for this route.

  • _meta._credits.usedinteger

    Credits consumed by this request (currently always 1).

  • _meta._rate_limits.limit_minuteinteger

    Maximum requests per minute for the organization.

  • _meta._rate_limits.remaining_minuteinteger

    Remaining requests in the current minute window.

  • _meta._rate_limits.limit_dayinteger

    Maximum requests per day for the organization.

  • _meta._rate_limits.remaining_dayinteger

    Remaining requests in the current day window.

curl --request GET "https://public-api.fansmetric.com/v1/100000001/fm/tracking-links/sample_link_id/claimers?limit=20&offset=0&field=sample_field" \
  --header "Authorization: Bearer YOUR_API_KEY"

Response

200
{
"data":{
"list":[
0:{
"id":100000501
"username":"fan_one"
"name":"Fan One"
"avatar_url":"https://cdn.example/avatar.jpg"
"claimed_at":"2026-07-01T10:00:00Z"
"revenue":"100.00"
"raw_revenue":"100.00"
"lifetime_revenue":"150.00"
"lifetime_revenue_since_claim":"100.00"
}
1:{
"id":100000502
"username":"fan_casual"
"name":null
"avatar_url":null
"claimed_at":"2026-07-03T08:00:00Z"
"revenue":"40.00"
"raw_revenue":"80.00"
"lifetime_revenue":"80.00"
"lifetime_revenue_since_claim":"80.00"
}
]
"hasMore":false
}
"_meta":{
"_credits":{
"used":1
}
"_rate_limits":{
"limit_minute":1000
"remaining_minute":999
"limit_day":50000
"remaining_day":49999
}
}
}