openapi: 3.1.0 info: title: Chess.com Published Data Clubs Puzzles 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: Puzzles description: Daily and random puzzles paths: /puzzle: get: summary: Get Daily Puzzle operationId: getDailyPuzzle tags: - Puzzles responses: '200': description: The daily puzzle content: application/json: schema: $ref: '#/components/schemas/Puzzle' /puzzle/random: get: summary: Get Random Daily Puzzle operationId: getRandomPuzzle tags: - Puzzles responses: '200': description: A randomly selected past daily puzzle content: application/json: schema: $ref: '#/components/schemas/Puzzle' components: schemas: Puzzle: type: object properties: title: type: string url: type: string format: uri publish_time: type: integer fen: type: string pgn: type: string image: type: string format: uri