> ## 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.

# List Tournaments

> Endpoint to retrieve all tournaments and filter based on various parameters such as name, location, country, level, and date range.



## OpenAPI

````yaml https://padelapi.org/docs/api.json get /tournaments
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:
  /tournaments:
    get:
      tags:
        - Tournament
      summary: List Tournaments
      description: >-
        Endpoint to retrieve all tournaments and filter based on various
        parameters such as name, location, country, level, and date range.
      operationId: listTournaments
      parameters:
        - name: name
          in: query
          description: Name of the tournament to search for.
          schema:
            type:
              - string
              - 'null'
        - name: location
          in: query
          description: Name of the city/location to held the tournament.
          schema:
            type:
              - string
              - 'null'
        - name: country
          in: query
          description: 2 letters country-code of the tournament location.
          schema:
            type:
              - string
              - 'null'
            minLength: 2
            maxLength: 2
        - name: level
          in: query
          description: >-
            Tournament level(s) to filter by. Accepts one or multiple
            comma-separated values (e.g. `major,p1,p2` for all Premier Padel
            tournaments).
          schema:
            type:
              - string
              - 'null'
        - name: court_type
          in: query
          description: Court type to filter by. Either `indoor`, `outdoor` or `covered`.
          schema:
            type:
              - string
              - 'null'
            enum:
              - indoor
              - outdoor
              - covered
        - name: after_date
          in: query
          description: After date of the tournament in `YYYY-MM-DD` format.
          schema:
            type:
              - string
              - 'null'
            format: date
        - name: before_date
          in: query
          description: Before date of the tournament in `YYYY-MM-DD` format.
          schema:
            type:
              - string
              - 'null'
            format: date
        - name: updated_after
          in: query
          description: Filter tournaments updated after this datetime in ISO 8601 format.
          schema:
            type:
              - string
              - 'null'
            format: date-time
        - name: updated_before
          in: query
          description: Filter tournaments updated before this datetime in ISO 8601 format.
          schema:
            type:
              - string
              - 'null'
            format: date-time
        - name: sort_by
          in: query
          description: Name of the parameter to sort the tournaments by.
          schema:
            type:
              - string
              - 'null'
            enum:
              - name
              - location
              - country
              - level
              - start_date
              - end_date
              - updated_at
        - name: order_by
          in: query
          description: Order of the sorting, either `asc` or `desc`.
          schema:
            type:
              - string
              - 'null'
            enum:
              - asc
              - desc
      responses:
        '200':
          description: Paginated set of `TournamentResource`
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/TournamentResource'
                  links:
                    type: object
                    properties:
                      first:
                        type:
                          - string
                          - 'null'
                      last:
                        type:
                          - string
                          - 'null'
                      prev:
                        type:
                          - string
                          - 'null'
                      next:
                        type:
                          - string
                          - 'null'
                    required:
                      - first
                      - last
                      - prev
                      - next
                  meta:
                    type: object
                    properties:
                      current_page:
                        type: integer
                      from:
                        type:
                          - integer
                          - 'null'
                      last_page:
                        type: integer
                      links:
                        type: array
                        description: Generated paginator links.
                        items:
                          type: object
                          properties:
                            url:
                              type:
                                - string
                                - 'null'
                            label:
                              type: string
                            active:
                              type: boolean
                          required:
                            - url
                            - label
                            - active
                      path:
                        type:
                          - string
                          - 'null'
                        description: Base path for paginator generated URLs.
                      per_page:
                        type: integer
                        description: Number of items shown per page.
                      to:
                        type:
                          - integer
                          - 'null'
                        description: Number of the last item in the slice.
                      total:
                        type: integer
                        description: Total number of items being paginated.
                    required:
                      - current_page
                      - from
                      - last_page
                      - links
                      - path
                      - per_page
                      - to
                      - total
                required:
                  - data
                  - links
                  - meta
        '401':
          $ref: '#/components/responses/AuthenticationException'
        '422':
          $ref: '#/components/responses/ValidationException'
components:
  schemas:
    TournamentResource:
      type: object
      properties:
        id:
          type: integer
          description: >-
            Unique identifier of this tournament edition. A new edition of the
            same event gets its own `id`; use `connections.editions` to walk the
            history.
        self:
          type: string
          description: >-
            Path to this tournament's endpoint, relative to
            `https://padelapi.org`.
        name:
          type: string
          description: >-
            Official name of this edition, including the title sponsor when
            there is one (e.g. `Oysho Milano P1`). Sponsors change between
            editions, so match on `id` rather than on this field.
        url:
          type:
            - string
            - 'null'
          description: Public tournament page. `null` when the tournament has no page.
        location:
          type: string
          description: City hosting the tournament.
        venue:
          type:
            - object
            - 'null'
          description: >-
            Club or arena hosting the tournament. `null` when the venue has not
            been announced.
          properties:
            name:
              type:
                - string
                - 'null'
            address:
              type:
                - string
                - 'null'
          required:
            - name
            - address
        country:
          type: string
          description: ISO 3166-1 alpha-2 country code, uppercase.
        timezone:
          type: string
          description: >-
            IANA timezone of the venue (e.g. `Europe/Rome`). This is the
            timezone used to serialize the `_local` times of the tournament's
            matches.
        level:
          type: string
          description: >-
            Category of the tournament within its circuit. Premier Padel runs
            `major`, `p1`, `p2` and `finals`; the FIP Tour runs the `fip_*`
            levels; `wpt_*` and `ppt_*` cover the historical World Padel Tour
            and Padel Pro Tour. Accepted as a comma-separated filter on [`GET
            /tournaments`](https://padelapi.org/docs/api-reference/tournament/list-tournaments).
          enum:
            - major
            - p1
            - p2
            - finals
            - fip_platinum
            - fip_gold
            - fip_silver
            - fip_other
            - wpt_master
            - wpt_1000
            - wpt_500
            - wpt_final
            - ppt_master
            - ppt_final
            - ppt_international
            - ppt_promotional
            - ppt_other
        status:
          type: string
          description: >-
            Current state of the tournament. See the [statuses
            reference](https://padelapi.org/docs/statuses#tournament-statuses)
            for the full list and the [data synchronization
            guide](https://padelapi.org/docs/guides/data-synchronization#tournaments)
            for how to keep it up to date.
          enum:
            - pending
            - live
            - finished
            - cancelled
        court_type:
          description: Surface setup of the courts. `null` when it has not been announced.
          anyOf:
            - type: 'null'
            - type: string
              enum:
                - indoor
                - outdoor
                - covered
        prize:
          type:
            - object
            - 'null'
          description: >-
            Total prize money on offer, with `amount` as a whole unit of
            `currency` (ISO 4217). `null` when the tournament does not publish
            it.
          properties:
            amount:
              type: integer
            currency:
              type: string
          required:
            - amount
            - currency
        start_date:
          type: string
          description: First day of play, as `YYYY-MM-DD`.
        end_date:
          type: string
          description: >-
            Last day of play, as `YYYY-MM-DD`, normally the day the finals are
            played.
        winners:
          type:
            - object
            - 'null'
          description: >-
            Pairs that won the tournament, keyed by category (`men`, `women`).
            `null` until the tournament reaches `finished`, and a category is
            absent when its final has no confirmed winner.
          additionalProperties:
            $ref: '#/components/schemas/MatchPairResource'
        links:
          type: string
          description: >-
            External links related to the tournament. `null` when none are
            available.
        updated_at:
          type: string
          description: >-
            ISO 8601 timestamp of the last change to any field of this
            tournament. Use it to skip records you have already processed.
        connections:
          type: string
          description: >-
            Related endpoints for this tournament. `videos` is only present when
            the tournament has video content.
      required:
        - id
        - self
        - name
        - url
        - location
        - venue
        - country
        - timezone
        - level
        - status
        - court_type
        - prize
        - start_date
        - end_date
        - winners
        - links
        - updated_at
        - connections
      title: TournamentResource
    MatchPairResource:
      type: array
      prefixItems:
        - type: object
          properties:
            id:
              type: integer
            self:
              type: string
            name:
              type: string
            side:
              anyOf:
                - type: 'null'
                - type: string
                  enum:
                    - drive
                    - backhand
            connections:
              type: string
          required:
            - id
            - self
            - name
            - side
            - connections
      minItems: 1
      maxItems: 1
      additionalItems: false
      title: MatchPairResource
  responses:
    AuthenticationException:
      description: Unauthenticated
      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

````