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

# Show Pair Stats

> Retrieve detailed performance statistics for a pair: win rate, sets won, and match analysis.

> 🔒 This endpoint [requires a **Pro** subscription](https://padelapi.org/billing).

- `coverage` — basis of the **performance** metrics:
  `full` (complete draw data for the whole history → every match counts),
  `partial` (only finals exist for the earliest period, so performance counts only the matches
  with complete draws and the older finals are excluded), or
  `finals_only` (only finals are available — they predate complete-draw coverage, or `round=1`
  was filtered — so performance is computed over those finals).
- `performance_since` — date from which the performance metrics are counted (the boundary; `null` if none).
- `matches_played`, `matches_won`, `win_percentage` — record and win rate (per `coverage`). `null` if no matches.
- `sets_won`, `sets_lost`, `avg_sets_per_match`, `games_won`, `games_lost`, `avg_games_per_match` — set/game tallies.
- `titles`, `finals`, `semifinals`, `best_round` — palmarés, always over the pair's **whole** history.



## OpenAPI

````yaml https://padelapi.org/docs/api.json get /pairs/{player1}-{player2}/stats
openapi: 3.1.0
info:
  title: Padel API – API Reference
  version: '1.0'
  description: padelapi.org
servers:
  - url: https://padelapi.org/api
security:
  - http: []
paths:
  /pairs/{player1}-{player2}/stats:
    get:
      tags:
        - Pair
      summary: Show Pair Stats
      description: >-
        Retrieve detailed performance statistics for a pair: win rate, sets won,
        and match analysis.


        > 🔒 This endpoint [requires a **Pro**
        subscription](https://padelapi.org/billing).


        - `coverage` — basis of the **performance** metrics:
          `full` (complete draw data for the whole history → every match counts),
          `partial` (only finals exist for the earliest period, so performance counts only the matches
          with complete draws and the older finals are excluded), or
          `finals_only` (only finals are available — they predate complete-draw coverage, or `round=1`
          was filtered — so performance is computed over those finals).
        - `performance_since` — date from which the performance metrics are
        counted (the boundary; `null` if none).

        - `matches_played`, `matches_won`, `win_percentage` — record and win
        rate (per `coverage`). `null` if no matches.

        - `sets_won`, `sets_lost`, `avg_sets_per_match`, `games_won`,
        `games_lost`, `avg_games_per_match` — set/game tallies.

        - `titles`, `finals`, `semifinals`, `best_round` — palmarés, always over
        the pair's **whole** history.
      operationId: getPairStats
      parameters:
        - name: player1
          in: path
          required: true
          description: The player1 ID
          schema:
            type: integer
        - name: player2
          in: path
          required: true
          description: The player2 ID
          schema:
            type: integer
        - name: after_date
          in: query
          description: Date after to calculate the stats in `YYYY-MM-DD` format.
          schema:
            type:
              - string
              - 'null'
            format: date
        - name: before_date
          in: query
          description: Date before to calculate the stats in `YYYY-MM-DD` format.
          schema:
            type:
              - string
              - 'null'
            format: date
        - name: level
          in: query
          description: >-
            Tournament level(s) to scope the stats. Accepts one or multiple
            comma-separated values (e.g. `major,p1,p2` for all Premier Padel
            matches).
          schema:
            type:
              - string
              - 'null'
        - name: round
          in: query
          description: >-
            Round of the match to calculate the stats (1 = Final, 2 = Semifinal,
            4 = Quarterfinal, 8 = Round of 16, 16 = Round of 32, 32 = Round of
            64)
          schema:
            type:
              - integer
              - 'null'
            enum:
              - '1'
              - '2'
              - '4'
              - '8'
              - '16'
              - '32'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  self:
                    type: string
                  coverage:
                    type: string
                  performance_since:
                    type: string
                  matches_played:
                    type: integer
                  matches_won:
                    type: integer
                  win_percentage:
                    type: string
                  sets_won:
                    type: integer
                  sets_lost:
                    type: integer
                  avg_sets_per_match:
                    type: string
                  games_won:
                    type: integer
                  games_lost:
                    type: integer
                  avg_games_per_match:
                    type: string
                  titles:
                    type: integer
                  finals:
                    type: integer
                  semifinals:
                    type: string
                  best_round:
                    type: string
                  connections:
                    type: object
                    properties:
                      pair:
                        type: string
                    required:
                      - pair
                required:
                  - id
                  - self
                  - coverage
                  - performance_since
                  - matches_played
                  - matches_won
                  - win_percentage
                  - sets_won
                  - sets_lost
                  - avg_sets_per_match
                  - games_won
                  - games_lost
                  - avg_games_per_match
                  - titles
                  - finals
                  - semifinals
                  - best_round
                  - connections
        '401':
          $ref: '#/components/responses/AuthenticationException'
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '422':
          $ref: '#/components/responses/ValidationException'
components:
  responses:
    AuthenticationException:
      description: Unauthenticated
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error overview.
            required:
              - message
    ModelNotFoundException:
      description: Not found
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error overview.
            required:
              - message
    ValidationException:
      description: Validation error
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Errors overview.
              errors:
                type: object
                description: A detailed description of each field that failed validation.
                additionalProperties:
                  type: array
                  items:
                    type: string
            required:
              - message
              - errors
  securitySchemes:
    http:
      type: http
      scheme: bearer

````