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

# List Player Stats

> Returns physical and event totals per player across games, grouped by game or season. Use it for questions that span games, such as an athlete's load over a season. At least one of `athlete_id`, `player_id`, `team`, `game_id` or a date window is required.

> [!WARNING]
>
> The Game Data API is in preview. Endpoints, fields and limits may change before release, and it is not yet available to call.


## OpenAPI

````yaml api-reference/game-data/openapi.json GET /player-stats
openapi: 3.0.0
info:
  title: Uplift Game Data API (Preview)
  version: v1
  description: >-
    Events, phases, possessions, physical summaries and tracking from match
    video. In preview: not yet available.
servers:
  - url: https://api.uplift.ai/v1
security: []
paths:
  /player-stats:
    get:
      tags:
        - Game Data
      summary: List Player Stats
      description: >-
        Returns physical and event totals per player across games, grouped by
        game or season. Use it for questions that span games, such as an
        athlete's load over a season. At least one of `athlete_id`, `player_id`,
        `team`, `game_id` or a date window is required.
      parameters:
        - name: athlete_id
          in: query
          required: false
          description: Uplift athlete, across every game they're rostered in.
          schema:
            type: string
            format: uuid
        - name: game_id
          in: query
          required: false
          description: One or more games, comma-separated.
          schema:
            type: string
        - name: team
          in: query
          required: false
          description: Filter by team name.
          schema:
            type: string
        - name: competition
          in: query
          required: false
          description: Filter by competition.
          schema:
            type: string
        - name: from_date
          in: query
          required: false
          description: Games on or after this date.
          schema:
            type: string
            format: date
        - name: to_date
          in: query
          required: false
          description: Games on or before this date.
          schema:
            type: string
            format: date
        - name: group_by
          in: query
          required: false
          description: '`game` (default) or `season`.'
          schema:
            type: string
            enum:
              - game
              - season
            default: game
        - name: per_90
          in: query
          required: false
          description: Normalize totals to per 90 minutes.
          schema:
            type: boolean
            default: false
        - name: limit
          in: query
          required: false
          description: Page size; integer 1 to 5,000. Defaults to 1,000.
          schema:
            type: integer
            minimum: 1
            maximum: 5000
            default: 1000
        - name: offset
          in: query
          required: false
          description: Rows to skip. Defaults to 0.
          schema:
            type: integer
            minimum: 0
            default: 0
      responses:
        '200':
          description: A page of player stats.
          content:
            application/json:
              schema:
                type: object
                properties:
                  rows:
                    type: array
                    items:
                      $ref: '#/components/schemas/PlayerStats'
                  total_count:
                    type: integer
                  offset:
                    type: integer
                  limit:
                    type: integer
              example:
                rows:
                  - athlete_id: 3c9e1f2a-8b7d-4c6e-9a5f-1d2e3b4c5a6f
                    player_id: p07
                    game_id: 6b1e0c2a-7d8f-4a51-9b0e-2f3c1d4e5a6b
                    date: '2026-10-18'
                    games: 1
                    minutes_tracked: 88.4
                    total_distance_m: 10875
                    high_speed_running_m: 846
                    sprint_count: 19
                    passes: 52
                    pass_completion: 0.87
                    bypassed_opponents: 61
                    shots: 2
                    duels: 11
                total_count: 14
                offset: 0
                limit: 1000
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
        - bearerAuth: []
components:
  schemas:
    PlayerStats:
      type: object
      properties:
        athlete_id:
          type: string
          format: uuid
          nullable: true
        player_id:
          type: string
          nullable: true
          description: Present when grouped by game.
        game_id:
          type: string
          format: uuid
          nullable: true
          description: Present when grouped by game.
        season:
          type: string
          nullable: true
          description: Present when grouped by season.
        date:
          type: string
          format: date
          nullable: true
        games:
          type: integer
        minutes_tracked:
          type: number
        total_distance_m:
          type: number
        high_speed_running_m:
          type: number
        sprint_count:
          type: integer
        passes:
          type: integer
        pass_completion:
          type: number
        bypassed_opponents:
          type: integer
        shots:
          type: integer
        duels:
          type: integer
    Error:
      type: object
      properties:
        error:
          type: string
          description: A short error code representing the type of error.
        message:
          type: string
          description: A detailed message explaining the error.
  responses:
    BadRequest:
      description: Invalid request parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: BadRequest
            message: >-
              The request parameters are invalid. Please review the request and
              try again.
    Unauthorized:
      description: Unauthorized. Bearer token is missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: Unauthorized
            message: Bearer token is missing or invalid.
    Forbidden:
      description: Forbidden. You do not have permission to access this resource.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: Forbidden
            message: You do not have permission to access this resource.
    TooManyRequests:
      description: Too Many Requests. The rate limit has been exceeded.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: TooManyRequests
            message: The rate limit has been exceeded. Please wait and try again later.
    InternalServerError:
      description: Internal Server Error. Something went wrong on the server.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: InternalServerError
            message: >-
              An unexpected error occurred on the server. Please try again
              later.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.