C.C have changed the policy on how daily matches are handled when minimum boards not achieved. https://api.chess.com/pub/match/{ID} This has resulted in a change to the API endpoint. Unannounced, undocumented and nothing in CHANGELOG Extra fields added. Fields missing. Board numbers missing. Published specification is now completly wrong for these circumstances.
Avatar of stephen_33
stephen_33 Mar 4, 2024
Does anyone know how to download your whole library of games and sort by move accuracy or a similar filter?
Avatar of JonnyCoco49
JonnyCoco49 Feb 27, 2024
so I was testing the swisstournament endpoint, and I was unable to receive the tiebreaks for players I am trying for https://api.chess.com/pub/tournament/1st-sat-rapid-2024-12-1700-4560201/4/1 actual tournament here:https://www.chess.com/tournament/live/1st-sat-rapid-2024-12-1700-4560201in the docs it mentions getting the tie breaks for daily chess tournaments is possiblehttps://www.chess.com/news/view/published-data-api#pubapi-endpoint-tournament-round-groupbut why the tie breaks are not shown in the normal Swiss tournament? I think this is a bug, which should be fixed.Thanks!
Avatar of Martin_Stahl
Martin_Stahl Feb 25, 2024
Is there any information regarding the logic behind how the game review calculates the following: Brilliant (!!)... I think there's an article on this but it doesn't mention the others. Great (!) Good (checkmark) Inaccuracy (?!) Mistake (?) Miss (X) Blunder (??) I think Best and Book are self evident and depends on engine depth and book being used.
Avatar of ciaradale
ciaradale Feb 23, 2024
Hi there, I am making a Google chrome extension about Chess and I need your help. The extension allows you to start a new game by clicking on the extension without having to visit chess.com. I did this by calling this custom URL: https://www.chess.com/play/online/new?action=createLiveChallenge&base=600&timeIncrement=0 Now, I want to add other features, like the ability to pick a rating range, and pick a specific player to start this game. Would you be willing to help me out on this by letting me know the appropriate query parameters? Thanks in advance.
Avatar of TheVikingPotato
TheVikingPotato Feb 18, 2024
The web page is fine but the endpoint for Team Morocco (Team Morocco) seems to be broken? https://api.chess.com/pub/club/team-morocco2 {"code":0,"message":"An internal error has occurred. Please contact Chess.com Developer's Forum for further help https://www.chess.com/club/chess-com-developer-community ."}The club name and url haven't changed so is this a simple case of the endpoint becoming corrupted, or some other problem?
Avatar of Tricky_Dicky
Tricky_Dicky Feb 10, 2024
Hey, there! I recently found out about this API and decided to work with it. While doing it, I decided it would be great to make a public NPM package that interacts with the API and thought I could share it here. It's written in TS, type safe and all documented. It would be very helpful if you could just give it a try and give me some feedbacks on what I should change or improve. Thanks Link to chess-com NPM package: https://www.npmjs.com/package/chess-com
Avatar of DanIMirza58
DanIMirza58 Feb 10, 2024
The API shows this match was lost by both teams, but the match page shows it was a draw. No indication it was canceled due to failing to meet the minimum players by the start time. Example: https://api.chess.com/pub/match/1575841 - Both sides lose https://www.chess.com/club/matches/1-day-per-move-club/1575841 - looks like a draw https://api.chess.com/pub/club/1-day-per-move-club/matches - search for the above match, result shows draw. It's inaccurate to show "lose" with one endpoint and "draw" on another. The match also never started, so is it really finished? So, will a canceled status and canceled result be added any time soon? We have finished, registration, and in-progress match statuses and win, lose, and draw game results, but neither has a canceled status. I think it would be beneficial to add a canceled section to the club matches endpoint. Not only would it make our lives easier, but it would also fix the misleading data the API returns.
Avatar of MasterMatthew52
MasterMatthew52 Feb 1, 2024
I often download games from players I follow. I grabbed the PGNs from bortnyk's games from Jan 2024. And when I imported the downloaded multi-game PGN file, I got a bunch of parsing errors. I am not totally familiar with PGN syntax, so I am wondering if the downloaded PGN has incorrect syntax, or if SCID's PGN parser is not right. I got the PGN file from here https://api.chess.com/pub/player/oleksandr_bortnyk/games/2024/01/pgn I would appreciate any insights into this! An example of a parsing error: (game 659, line 16507) Error parsing the tag pair: FEN "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR/ w KQkq - 0 1"(game 659, line 16523) Failed to parse the move: B@c5(game 659, line 16523) End of game, ignored the part after the last error.
Avatar of LateToMate
LateToMate Feb 1, 2024
Hey all - I wrote about this app on here during my development stage but the app is officially available now. It's free, please leave a rating and review if you like it!https://apps.apple.com/us/app/chessbud/id6474365238?ign-itscg=30200&ign-itsct=apps_box_link
Avatar of knucklehe4d
knucklehe4d Jan 24, 2024
Hey all, first time poster.I bought an apple watch a couple months ago and was shocked to find there are no apps for reviewing your chess games AT ALL. Like, not even a single one.Anyway I went ahead and built one. It's currently in testflight on the app store and I'm looking for a handful of beta testers to try it out on their own devices and let me know how it goes.This is a watchOS only app, not an iOS app with a companion watch app. If you're interested please reply here! cheers! Steve
Avatar of knucklehe4d
knucklehe4d Jan 24, 2024
https://api.chess.com/pub/tournament/2024-chess-com-daily-chess-championship gives:{"status":"error","message":"Internal Server Error"} Is this supposed to work?
I have a rather simple chess endgame Python code implementinng `negamax strategy` given below but it behaves strange.Negamax means that when both players play fully rationally the best move leading to the quickest mate or the longest defense by both sides.It prints correctly this position, but the best move `Kb2c2` is not even considered when I have printed all legal moves.I'm even unable to force the code `consider` at any stage of searching the best move by white king `K`.I would like if some can dig into the code and tell me what's wrong **huh** The output: . . . . . . . .. . . k . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. K . p . . . .. . . . . . . . Na tahu je: bílý (white to move in Czech language)b2c3<LegalMoveGenerator at 0x1d473d26b50 (Ke8, Kd8, Kc8, Ke7, Kc7, Ke6, Kd6, Kc6, d1=Q, d1=R, d1=B, d1=N+)><LegalMoveGenerator at 0x1d473d26250 (Kd4, Kc4, Kb4, Kd3, Kb3, Kxd2, Kc2, Kb2)><LegalMoveGenerator at 0x1d473d24050 (Kf8, Kd8, Kf7, Ke7, Kd7, d1=Q+, d1=R+, d1=B, d1=N)><LegalMoveGenerator at 0x1d473d25e10 (Ke5, Kd5, Kc5, Ke4, Kc4, Ke3, Kd3, Kc3)><LegalMoveGenerator at 0x1d473d25110 (Kg8, Ke8, Kg7, Kf7, Ke7, d1=Q, d1=R, d1=B, d1=N)><LegalMoveGenerator at 0x1d473d27110 (Kf6, Ke6, Kd6, Kf5, Kd5, Kf4, Ke4, Kd4)> The code:[python]import chessimport timeimport threading # Globální proměnná pro sledování počtu prohledaných pozicpositions_count = 0 def update_positions_count(last_time_printed): global positions_count while not board.is_game_over(): if time.time() - last_time_printed > 1: print(f"\rProhledaných pozic: {positions_count}", end='') last_time_printed = time.time() def evaluate_board(board, depth): global positions_count positions_count += 1 if board.is_checkmate(): return 10000 - depth if board.is_stalemate() or board.can_claim_draw(): return 0 return None # ... negamax, find_best_move ...# Negamax algoritmusdef negamax(board, depth, alpha, beta, color): evaluated = evaluate_board(board, depth) if evaluated is not None: return color * evaluated if depth == 0 or board.is_game_over(): return 0 max_eval = float('-inf') print(board.legal_moves) for move in board.legal_moves: board.push(move) eval = -negamax(board, depth - 1, -beta, -alpha, -color) board.pop() max_eval = max(max_eval, eval) alpha = max(alpha, eval) if alpha >= beta: break return max_eval def find_best_move(board, depth): best_move = None best_value = float('-inf') alpha = float('-inf') beta = float('inf') color = 1 if board.turn else -1 print(f"Na tahu je: {'bílý' if board.turn else 'černý'}") for move in board.legal_moves: print(move.uci()) # Vypíše tahy ve formátu UCI if move.uci() == "c1c2": # Příklad pro tah bílého krále print("HERE") board.push(move) board_value = -negamax(board, depth - 1, -beta, -alpha, -color) board.pop() if board_value > best_value: best_value = board_value best_move = move return best_move # Hlavní část kódu#start_position = "8/8/8/8/8/7Q/k7/2K5 w - - 0 1"#start_position = "8/3k4/8/8/8/8/1K6/8 w - - 0 1"start_position = "8/3k4/8/8/8/8/1K1p4/8 w - - 0 1"board = chess.Board(start_position)depth = 11 # Můžete zvážit snížení hloubky pro rychlejší výsledkylast_time_printed = time.time() positions_count_thread = threading.Thread(target=update_positions_count, args=(last_time_printed,), daemon=True)positions_count_thread.start() print(board)print() while not board.is_game_over(): best_move = find_best_move(board, depth) if best_move is not None: board.push(best_move) print("\n", board) # Vytiskne šachovnici po provedení nejlepšího tahu else: print("Žádný další legální tah není možný.") break print("\nKonec hry")[/python]
I would like to download X games of any chess.com bot for the tool I'm developing. Is that possible? Thanks in advance for your help.
Avatar of x-5560766384
x-5560766384 Jan 20, 2024
For end point https://api.chess.com/pub/match/{ID} whilst in registration, when new players register for the match the endpoint updates quickly (almost in real time). However if the roster gets locked then the field "locked": only updates at the next cycle, which could be as long as 12 hours, by which time the match could have started. This field is only of any value if it updates as quickly as new member registrations.
Avatar of Tricky_Dicky
Tricky_Dicky Jan 8, 2024
Approximately how long do you have to wait for a response from chess.com regarding oAuth login access? I filled out the form some time ago but have not received any response.
Avatar of jardele4
jardele4 Jan 5, 2024
Answer: When a member is accessing the site via the mobile app! It seems that via the app, a member is permanently 'logged on' and so never updates the "last_online" setting. This cropped up here: Games Played Long After Last Online Date? But I thought it might be new information for many in this club, so wanted to draw attention to it. It's something I've been using for years to weed out 'absent' club admins who get nominated to look after teams in the leagues I help run but it seems that doesn't work so well any more 🙄
Avatar of jardele4
jardele4 Jan 3, 2024
In some profile data I downloaded for informal research, I noticed some cases where games were played long after the last_online date. There were several of these in my sample set of 53, so it doesn't look like an isolated occurrence. Is this a known issue? If so, it seems that my best bet would be to look at the date the last game was played. Here's an example: https://www.chess.com/member/RobinsRevenge0 Last game was on November 7, 2023, but their profile data shows they were last online on June 20, 2023: [{'name': 'RobinsRevenge0', 'status': 'closed:fair_play_violations', 'date_created': '2021-01-18 00:05:08 UTC', 'last_online': '2023-06-20 01:05:19 UTC', 'country': 'CA', 'url': 'https://www.chess.com/member/RobinsRevenge0'}] Used get_player_profile() from the (unofficial) chessdotcom library in Python, if that's relevant.
Avatar of stephen_33
stephen_33 Jan 2, 2024
Hi,I have a website where the user can enter his nickname from chess.com. When he does this, the website checks his played games once a day, saves it in the database and generates statistics. I want to change the manual username entry to logging in via oauth the chess.com server. I want to make sure that the username the player provides actually belongs to him. The server provides access tokens. My question is: should I save tokens for each user (access and refresh token) and add them to the query for data of each user in turn when I retrieve information about their games? Now, having their usernames, I simply download the data I need from the API without adding tokens and everything works. Please advise.Thanks!
Avatar of mlody87pl
mlody87pl Dec 31, 2023
Under https://www.chess.com/events, if any event is going on, chess.com will show the live games. How are the moves and clock times determined in real time? Is there an external API to get this information?
Avatar of ChipDaWolf
ChipDaWolf Dec 29, 2023
Admins