Chess.com Tournaments API

Tournament details, rounds, and groups

OpenAPI Specification

chess-com-tournaments-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Chess.com Published Data Clubs Tournaments API
  description: 'Public, read-only REST API exposing Chess.com data: player profiles and stats, monthly game

    archives (JSON and PGN), clubs and members, daily and live team matches, Swiss and round-robin

    tournaments, titled-player lists, country rosters, the daily puzzle, the streamer list, and

    live leaderboards.


    The API is unauthenticated; rate limiting applies to parallel requests (429 Too Many Requests).

    Responses use JSON-LD with ETag, Last-Modified, gzip, and JSONP support. Most endpoints refresh

    at most every 12-24 hours. Clients are encouraged to send a recognizable User-Agent including a

    contact email or URL.

    '
  version: '2026-05-25'
  contact:
    name: Chess.com Support
    url: https://support.chess.com
  x-logo:
    url: https://www.chess.com/favicon.ico
servers:
- url: https://api.chess.com/pub
  description: Chess.com Published Data API
tags:
- name: Tournaments
  description: Tournament details, rounds, and groups
paths:
  /player/{username}/tournaments:
    get:
      summary: Get Player Tournaments
      operationId: getPlayerTournaments
      tags:
      - Tournaments
      parameters:
      - $ref: '#/components/parameters/Username'
      responses:
        '200':
          description: Tournaments the player has registered for
          content:
            application/json:
              schema:
                type: object
  /tournament/{url-ID}:
    get:
      summary: Get Tournament
      operationId: getTournament
      tags:
      - Tournaments
      parameters:
      - $ref: '#/components/parameters/TournamentUrlId'
      responses:
        '200':
          description: Tournament summary
          content:
            application/json:
              schema:
                type: object
  /tournament/{url-ID}/{round}:
    get:
      summary: Get Tournament Round
      operationId: getTournamentRound
      tags:
      - Tournaments
      parameters:
      - $ref: '#/components/parameters/TournamentUrlId'
      - name: round
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Round details
          content:
            application/json:
              schema:
                type: object
  /tournament/{url-ID}/{round}/{group}:
    get:
      summary: Get Tournament Round Group
      operationId: getTournamentRoundGroup
      tags:
      - Tournaments
      parameters:
      - $ref: '#/components/parameters/TournamentUrlId'
      - name: round
        in: path
        required: true
        schema:
          type: integer
      - name: group
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Group standings within a round
          content:
            application/json:
              schema:
                type: object
components:
  parameters:
    Username:
      name: username
      in: path
      required: true
      description: All-lowercase Chess.com username
      schema:
        type: string
    TournamentUrlId:
      name: url-ID
      in: path
      required: true
      description: Tournament URL-ID slug from chess.com/tournament/{url-ID}
      schema:
        type: string