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

# View a program leaderboard

> Return an all-time creator leaderboard and program totals without paging through every post.

Provide the program ID in `program`. Every creator in the program is returned in descending order by current total views. Creator sub-profiles are folded into one client-stable root creator ID.

`totalPosts` counts platform post rows, so cross-posted copies count separately. `totalSourceVideos` counts distinct source videos and can be used for de-duplicated totals.

The normal analytics read model refreshes at :10 and :40 each hour, so its totals can trail a new metric scrape by about 30 minutes. Posts outside that read model fall back to their latest stored metric snapshot.

Agency accounts can pass `scope=agency` to access a program owned by the parent agency or one of its linked brands.




## OpenAPI

````yaml /api-reference/openapi.json get /analytics/leaderboard
openapi: 3.0.4
info:
  title: Launchpoint Public API
  version: 1.0.0
  description: >-
    **Private preview.** The Launchpoint Public API is in private preview and
    available only to trusted partners we work with directly. Access is not
    self-serve. Email hi@launchpointhq.com to ask about access.


    REST API for Launchpoint brands and agencies. Use an API key in the
    `x-api-key` header to authenticate.


    ## Requirements

    - Public API access must be enabled for the company. During private preview,
    access is limited to trusted partners.

    - Create and manage API keys in Dashboard → Settings → Developer.


    ## Creator privacy

    - Responses never include creator email addresses. Creator phone numbers are
    null when no number is stored or the workspace does not have access to
    creator contact details.


    ## Rate limits

    - Default: **100 requests per minute** per API key.

    - Approved partner accounts: **400 requests per minute**.

    - Every response includes `X-RateLimit-Limit`, `X-RateLimit-Remaining`, and
    `X-RateLimit-Reset`. Requests over the limit return `429`.


    ## Errors

    - Errors use `{ "error": "<message>" }` with the matching HTTP status. Some
    endpoints also include a `code`.


    ## Timestamps

    - Timestamps are Unix timestamps in milliseconds unless a field says
    otherwise.


    ## Pagination

    - Most list endpoints accept `page` and `limit` and return `{ data, page,
    total }`. Some also return `totalPages`.

    - `scope=company` is the default. A parent agency key can pass
    `scope=agency` on supported routes to include its own data and linked
    brands.
servers:
  - url: https://dashboard.launchpointhq.com/api/v1
    description: Live API server
security:
  - apiKeyAuth: []
tags:
  - name: Deals
    description: Public creator opportunities across Launchpoint
  - name: Programs
    description: Programs and campaign management
  - name: Posts
    description: Posts and social content
  - name: Analytics
    description: KPIs and performance metrics
  - name: Payouts
    description: Payouts, balances, and pending creator funds
  - name: Contracts
    description: Contracts and creator agreements
  - name: Creators
    description: Creator profiles and metrics
  - name: Applications
    description: Creator applications to Canvas programs
  - name: Messages
    description: Read and send creator messages
paths:
  /analytics/leaderboard:
    get:
      tags:
        - Analytics
      summary: View a program leaderboard
      description: >
        Return an all-time creator leaderboard and program totals without paging
        through every post.


        Provide the program ID in `program`. Every creator in the program is
        returned in descending order by current total views. Creator
        sub-profiles are folded into one client-stable root creator ID.


        `totalPosts` counts platform post rows, so cross-posted copies count
        separately. `totalSourceVideos` counts distinct source videos and can be
        used for de-duplicated totals.


        The normal analytics read model refreshes at :10 and :40 each hour, so
        its totals can trail a new metric scrape by about 30 minutes. Posts
        outside that read model fall back to their latest stored metric
        snapshot.


        Agency accounts can pass `scope=agency` to access a program owned by the
        parent agency or one of its linked brands.
      parameters:
        - $ref: '#/components/parameters/ScopeParam'
        - in: query
          name: program
          required: true
          schema:
            type: string
            format: uuid
          description: Program ID
      responses:
        '200':
          description: Program leaderboard returned successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      programId:
                        type: string
                        format: uuid
                      summary:
                        type: object
                        properties:
                          uniqueCreators:
                            type: integer
                          totalViews:
                            type: integer
                            format: int64
                          totalPosts:
                            type: integer
                            description: >-
                              Number of platform post rows; cross-posted copies
                              count separately
                          totalSourceVideos:
                            type: integer
                            description: >-
                              Number of distinct source videos after grouping
                              cross-posted copies
                      topCreators:
                        type: array
                        description: >-
                          Every program creator in descending order by total
                          views
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              description: Client-stable encrypted root creator ID
                            name:
                              type: string
                            totalViews:
                              type: integer
                              format: int64
                            totalPosts:
                              type: integer
                              description: Number of platform post rows for this creator
                            totalSourceVideos:
                              type: integer
                              description: >-
                                Number of distinct source videos for this
                                creator
        '400':
          description: Program ID is missing, invalid, or conflicts with the alias
        '404':
          description: No visible program was found
components:
  parameters:
    ScopeParam:
      in: query
      name: scope
      required: false
      schema:
        type: string
        enum:
          - company
          - agency
        default: company
      description: >-
        Choose the data scope. `company` (default) limits results to the API key
        company's data. `agency` includes the parent agency and its linked
        brands. `scope=agency` requires a parent agency key; other keys receive
        `403`.
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key created in Dashboard → Settings → Developer

````