> ## Documentation Index
> Fetch the complete documentation index at: https://docs.onlyfansapi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Top Spenders (/api-reference/fanvue/insights/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`.

## OpenAPI

````yaml https://app.onlyfansapi.com/scribe-fanvue-docs/openapi.yaml get /api/fanvue/{fanvueAccount}/insights/top-spenders
openapi: 3.0.3
info:
  title: Fanvue API Documentation
  description: ""
  version: 1.0.0
servers:
  - url: https://app.onlyfansapi.com
security:
  - default: []
tags:
  - name: Account
    description: Endpoints for your connected Fanvue accounts
  - name: Chat Messages
    description: Endpoints for the messages inside a Fanvue chat.
  - name: Chats
    description: Endpoints for a Fanvue creator's inbox. A chat is identified by the
      fan's user UUID.
  - name: Fans
    description: "Endpoints for the fans of a Fanvue creator: subscribers,
      followers, smart lists and per-fan insights."
  - name: Fanvue Account
    description: Endpoints for the connected Fanvue creator itself.
  - name: Insights
    description: "Revenue and growth reporting for a Fanvue creator: per-transaction
      earnings, the aggregated earnings summary, the subscriber trend and top
      spenders."
  - name: Profiles
    description: Public Fanvue creator profiles, readable without connecting the creator.
paths:
  /api/fanvue/{fanvueAccount}/insights/top-spenders:
    parameters:
      - in: path
        name: fanvueAccount
        description: The Fanvue Account ID
        example: fanvue_acct_XXXXXXXXXXXXXXX
        required: true
        schema:
          type: string
    get:
      summary: List Top Spenders
      operationId: listTopSpenders
      description: >-
        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`.
      parameters:
        - in: query
          name: startDate
          description: Only count spending on or after this ISO 8601 datetime. Ignored
            when `cursor` is given.
          example: 2026-01-01T00:00:00Z
          required: false
          schema:
            type: string
            description: Only count spending on or after this ISO 8601 datetime. Ignored
              when `cursor` is given.
            example: 2026-01-01T00:00:00Z
        - in: query
          name: endDate
          description: Only count spending before this ISO 8601 datetime (non-inclusive).
            Ignored when `cursor` is given.
          example: 2026-02-01T00:00:00Z
          required: false
          schema:
            type: string
            description: Only count spending before this ISO 8601 datetime (non-inclusive).
              Ignored when `cursor` is given.
            example: 2026-02-01T00:00:00Z
        - in: query
          name: cursor
          description: Opaque pagination cursor from a previous response's `nextCursor`.
          example: eyJ2IjoxfQ
          required: false
          schema:
            type: string
            description: Opaque pagination cursor from a previous response's `nextCursor`.
            example: eyJ2IjoxfQ
        - in: query
          name: size
          description: Number of fans to return (1 - 50). Default = 15
          example: 15
          required: false
          schema:
            type: integer
            description: Number of fans to return (1 - 50). Default = 15
            example: 15
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                example:
                  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.
                properties:
                  data:
                    type: object
                    properties:
                      data:
                        type: array
                        example:
                          - 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
                        items:
                          type: object
                          properties:
                            gross:
                              type: integer
                              example: 15000
                            net:
                              type: integer
                              example: 12750
                            messages:
                              type: integer
                              example: 342
                            user:
                              type: object
                              properties:
                                uuid:
                                  type: string
                                  example: f47ac10b-58cc-4372-a567-0e02b2c3d479
                                handle:
                                  type: string
                                  example: sarah-jones
                                displayName:
                                  type: string
                                  example: Sarah Jones
                                nickname:
                                  type: string
                                  example: SarahK
                                isTopSpender:
                                  type: boolean
                                  example: true
                                avatarUrl:
                                  type: string
                                  example: https://media.fanvue.com/avatars/example-avatar.jpg
                                registeredAt:
                                  type: string
                                  example: 2024-01-10T12:00:00.000Z
                      nextCursor:
                        type: string
                        example: null
                        nullable: true
                      total:
                        type: string
                        example: null
                        nullable: true
                  _meta:
                    type: object
                    properties:
                      _credits:
                        type: object
                        properties:
                          used:
                            type: integer
                            example: 1
                          balance:
                            type: integer
                            example: 10055811
                          note:
                            type: string
                            example: Always
                      _cache:
                        type: object
                        properties:
                          is_cached:
                            type: boolean
                            example: false
                          note:
                            type: string
                            example: Cache disabled for this endpoint
                      _rate_limits:
                        type: object
                        properties:
                          limit_minute:
                            type: integer
                            example: 5000
                          limit_day:
                            type: string
                            example: null
                            nullable: true
                          remaining_minute:
                            type: integer
                            example: 4999
                          remaining_day:
                            type: string
                            example: null
                            nullable: true
                          notice:
                            type: string
                            example: We have decided to remove our daily rate limits. Please remove any
                              references to these in your integrations.
      tags:
        - Insights
components:
  securitySchemes:
    default:
      type: http
      scheme: bearer
      description: Get your API Key from OnlyFansAPI Console -
        https://app.onlyfansapi.com/api-keys
````