I am a third-year student of Econometrics and Data Analytics at the University of Łódź. I am currently preparing my bachelor’s thesis titled: “Factors Influencing the Average Chess Rating.” As part of my research, I kindly request access to monthly statistics on the number of online players on the chess.com platform, broken down by selected countries. These data would be used solely for academic purposes and would be extremely helpful for conducting a comparative analysis within the framework of my thesis. The data that would be particularly valuable for my research includes the total number of players on chess.com globally for each year from 2015 to 2023. Within this period, specific data for Poland and the United States would also be especially useful. Additionally, if possible, I would greatly appreciate access to the number of players from the following countries as of December 2019, December 2021, and December 2023: Czech Republic, Germany, Estonia, Greece, Spain, France, Croatia, Lithuania, Hungary, Poland, Portugal, Romania, Slovenia, Slovakia, Sweden, Switzerland, Serbia, Turkey, and the United States of America. I assure you that all data will be used exclusively for academic purposes and treated with full confidentiality. Any form of acknowledgment or citation you may require will be duly included in the final version of my thesis. Thank you in advance for considering my request. I would be extremely grateful for any assistance or guidance you could provide in this matter. Kind regards
Avatar of eight_x_eight
eight_x_eight May 22, 2025
After fixing recent issue with user-agent in python, my code worked for about 2h Now after 1-3 seconds delay I've got an error, tested different locations, different e-mails, different API calls <class 'chessdotcom.types.ChessDotComError'>(status_code=404, text={"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 ."}) Looks like blocking the default user-agent was just a beginning
Avatar of stephen_33
stephen_33 May 21, 2025
Hi,I'm trying to access the data for this club tournament using this api endpoint:https://api.chess.com/pub/tournament/1st-blk-international--4427528However, as you can see in the rounds field it only returns a single round despite the tournament clearing having 4 rounds.rounds":["https://api.chess.com/pub/tournament/1st-blk-international--4427528/4"]Does anyone have a fix for this or is this a known bug?
Description: Get details about a tournament's round. URL pattern: https://api.chess.com/pub/tournament/{url-ID}/{round} For every tournament I've checked so far, every round's ["groups"] appears to be empty with the exception of the last round. I don't really know what a round group is so I'm not sure if that's correct or not. I expected there to be data (players,pgn, etc..) for every round of a tournament. (https://api.chess.com/pub/tournament/{url-ID}/{round}/{group}). What am I missing? Examples: >>> for i in range(1,11):... full_url = "https://api.chess.com/pub/tournament/-scc-grand-prix-titled-tuesday-blitz-1496670/" + str(i)... res=sess.get(full_url)... res.json()... {u'players': [], u'groups': []}{u'players': [], u'groups': []}{u'players': [], u'groups': []}{u'players': [], u'groups': []}{u'players': [], u'groups': []}{u'players': [], u'groups': []}{u'players': [], u'groups': []}{u'players': [], u'groups': []}{u'players': [], u'groups': []} {u'players': [{u'username': u'thebutcher'}, {u'username': u'attilaturzo'}, {u'username': u'parintele_chess'}, {u'username': u'ecwinslow'}, {u'username': u'komodo_dragaon'}, {u'username': u'goldihouse'}, {u'username': u'gmkrikor'}, {u'username': u'jrenatomaranhao'}, {u'username': u'powerthinking2650'}, {u'username': u'erichansen'}, {u'username': u'creativity'}, {u'username': u'fins0905'}, {u'username': u'gregshahade'} ...... >>> full_url = "https://api.chess.com/pub/tournament/-scc-grand-prix-titled-tuesday-blitz-1526407">>> res=sess.get(full_url)>>> total_rounds=res.json()["settings"]["total_rounds"]>>> for i in range(1,total_rounds +1):... full_url = "https://api.chess.com/pub/tournament/-scc-grand-prix-titled-tuesday-blitz-1526407/" + str(i)... res=sess.get(full_url)... res.json()... {u'players': [], u'groups': []} {u'players': [], u'groups': []}{u'players': [], u'groups': []}{u'players': [], u'groups': []}{u'players': [], u'groups': []}{u'players': [], u'groups': []}{u'players': [], u'groups': []}{u'players': [], u'groups': []}{u'players': [], u'groups': []}{u'players': [{u'username': u'justinz'}, {u'username': u'parintele_chess'}, {u'username': u'gmkrikor'}, {u'username': u'davigator'}, {u'username': u'jrenatomaranhao'}, {u'username': u'marcocorvi'}, {u'username': u'erichansen'}, {u'username': u'creativity'}, {u'username': u'gregshahade'}, {u'username': u'vishnuprasanna'}, {u'username': u'chess4life23'}, {u'username': u'geordie_derraugh'}, {u'username': u'zkid'}, {u'username': u'spalir'}, {u'username': u'wannabe2700'}, {u'username': u'fearnoevil12'}, {u'username': u'synctel'}, {u'username': u'lacafi'}, {u'username
In our club, we've won Chessvotes games that exceed 4 moves, and we've remained in the same ranking; it hasn't increased.
Avatar of Martin_Stahl
Martin_Stahl May 20, 2025
Is it true that the website is experiencing some issue with stats not being updated correctly? I've noticed the problem with my account, and the AI agent 'Chessica' says the team is experiencing such an issue.
Avatar of Martin_Stahl
Martin_Stahl May 20, 2025
I'm working on a program/webpage capable of simulating games in real time using their PGN (I know there are several out there). The problem I'm facing is that when I extract the timestamps through the API and then sum them up to calculate the total game time — without considering increment time — and compare it with the 'real' time of the game by recording the screen during gameplay, the time difference is too large. For example, in a 3+1 game that theoretically lasted 7:57, the actual game lasted almost 20 seconds longer (the game ended in checkmate, so there's no issue with resignation time, etc.). Does anyone know what could be causing this issue? Thanks in advance.
Avatar of codecalmchess
codecalmchess May 15, 2025
Proposal: Chess.com Should Implement Bronstein Placement ChessDear Chess.com Team,Bronstein Placement Chess, a variant where players alternate placing pieces on their back rank before starting play, is a dynamic and innovative addition that would elevate your platform’s offerings. Here are ten compelling reasons to implement it, drawing on its historical significance, player appeal, and strategic depth:Honors Chess History: Grandmasters like David Bronstein and Pal Benko played this variant, lending it prestige. By introducing it, Chess.com would celebrate their legacy and connect players with a storied piece of chess heritage.Inspired Chess960: As noted, Bobby Fischer encountered this variant in Budapest in the 1990s, inspiring his creation of Chess960. Offering Bronstein Placement Chess would showcase the original idea behind a now-popular variant, enriching your variant ecosystem.Unmatched Variety: With over 5 million possible starting positions—far surpassing Chess960’s 960—this variant ensures every game is unique. This vast diversity keeps players engaged and reduces repetitive play patterns.Encourages Human Creativity: The variant allows opening strategy but limits computer preparation, leveling the playing field. Players rely on intuition and adaptability, fostering original ideas over engine-driven memorization.Streamlined Castling Rules: Unlike Chess960’s complex castling mechanics, Bronstein Placement Chess simplifies it: castling occurs when the king is on e1 and a rook is in the corner. This clarity makes the game more accessible to all skill levels.Proven Player Enjoyment: Feedback from masters and grandmasters confirms it’s often more fun than Chess960, thanks to its interactive setup phase. This enthusiasm suggests strong potential for widespread adoption among your users.Interactive Placement Phase: The act of placing pieces sparks lively discussions about strategy, such as optimal piece placement and king safety. This engaging prelude adds a social and intellectual dimension that enhances the player experience.Revolutionary Handicapping System: The variant opens the door to a novel handicapping method. Once optimal setups are identified, stronger players could use subpar configurations, graded by computer evaluation, making matches fairer and more inclusive for players of varying strengths.Fosters Community Innovation: The placement phase invites experimentation with unconventional setups, inspiring creativity. Your forums, streams, and content creators could thrive as players share and analyze their favorite configurations, boosting community engagement.Appeals to All Levels: Bronstein Placement Chess is intuitive enough for beginners yet challenging for experts, aligning perfectly with Chess.com’s diverse audience. Its scalability ensures broad appeal, from casual matches to competitive tournaments.Implementation Suggestion: Launch Bronstein Placement Chess as a beta variant, promoted through your variant section, puzzles, and streaming events. Highlight its historical roots and creative appeal to drive interest. Given its alignment with Chess960’s popularity and its potential to captivate your 100-million-plus user base, this addition could become a flagship feature, further solidifying Chess.com as the home of innovative chess.Sincerely, A Passionate Advocate for Chess Innovation
Avatar of thundertoad2379
thundertoad2379 May 14, 2025
Hi Coders!Made a cool chess variant!Would be cool to have users test it out and see if they like it or have feedbackLink to Game: https://www.razzlndazzle.com/Frontend Repo: https://github.com/bbeizer/rd-frontend Backend Repo: https://github.com/bbeizer/rd-backendAI Service: https://github.com/bbeizer/rd-ai-service
Avatar of AtomicBolts
AtomicBolts May 9, 2025
Hello, I have connected to the REST API to gather some data about the 2025 Chess.com daily chess championship and some endpoints seem not to be working. 1. The endpoint for tournament details (https://api.chess.com/pub/tournament/2025-chess-com-daily-chess-championship-1) gives the following error: {"status":"error","message":"Internal Server Error"} 2. Endpoints for first 8 groups of the round 2 give the following error upon access: {"code":3024,"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 ."} Example: https://api.chess.com/pub/tournament/2025-chess-com-daily-chess-championship-1/2/8 Interestingly enough, endpoints for subsequent groups (9 -197) are fine: Example: https://api.chess.com/pub/tournament/2025-chess-com-daily-chess-championship-1/2/9
Avatar of Martin_Stahl
Martin_Stahl May 6, 2025
I've developed a website for us chess players. It has four main features: Player Search: Allows you to search for any player registered in a club anywhere in the world, or anyone with a Chess.com or Lichess.org account. Repertoire Viewer: Lets you view someone’s opening repertoire by entering their online username and color. Map: Shows places to play chess around the world (to add a location, feel free to message me). Game Review: Currently under development. Website link: https://chessapp-ksqc.vercel.app/ If you have any feedback on the UI/UX or suggestions for features you'd like to see, let me know!
Avatar of fanneett00669
fanneett00669 May 5, 2025
Hi everyone, I’m currently developing an application that uses the Chess.com public API to display and analyze player game data (e.g., game history, rating trends, performance stats). I’ve reviewed the API documentation, which states that the API is intended for personal use only. I’d like to ask: Is there a way to obtain official permission to use the API in a commercial project, such as a paid app or a service with optional subscriptions or ads? If so, what’s the process for requesting permission or becoming an API partner? Are there any existing terms, licensing models, or usage guidelines for commercial use that developers should be aware of? The app I’m building could be beneficial to the community by offering in-depth statistics and tools for training or coaching. I want to ensure I comply fully with Chess.com’s terms and am open to collaboration or licensing if needed. Thanks in advance for any guidance!
[removed -- MS] This guy @sujonm360, keeps spamming a club I'm in with 18+ content.What should I do?
Avatar of Martin_Stahl
Martin_Stahl Apr 28, 2025
I'm planning to use the public API to populate a database and build my own dashboard (possibly using Notion, though I haven't decided yet) to track my stats. From what I’ve seen in the documentation so far, the only useful data I think I can get from the API that isn’t already available on the website is the list of openings used in all my games. With that, I could identify which openings I tend to lose the most with and focus on studying them. Has anyone else tried this? Can anyone think of other useful data to extract from the API?
Avatar of eight_x_eight
eight_x_eight Apr 26, 2025
Is there a way to download all games with a specific move order or position? Like the equivalent of an opening explorer? Filter options such as rating, date etc. would be fantastic. There is something like that on Lichess.
Avatar of TigranVartanovich
TigranVartanovich Apr 25, 2025
I'd like to suggest a feature for the forum as to highlight new text/incoming post so as to differentiate read from the unread ones. Thanks.
Hi, Looking at the games played by chessplayer6464, he has some games from October 2009, but these don't appear in the archive. This is empty: https://api.chess.com/pub/player/chessplayer6464/games/2009/10 Potentially because they are played against bots? Is there any way of accessing these? And is it because they are against bots, or because they are from a very long time ago? Thank you!
I can search for a particular username in the list of titled players on the website and they show up: https://www.chess.com/members/search?phrase=followyourdreams123&coaches=0&streamers=0&titledMembers=1&sortBy=last_login_date ... but the same username doesn't show up in the list of titled players returned by the Public API: https://api.chess.com/pub/titled/IM Just a few days ago, the lists matched. Is the discrepancy a bug?
Bug Report Summary:The Chess.com API games/archives endpoint for specific users (imrosen and remyrouyer) exhibits inconsistent behavior. While most archive links work as expected, a subset of URLs (listed below) return a 404 status code with an internal error message. Steps to Reproduce: Request the monthly archive endpoints for the user remyrouyer:https://api.chess.com/pub/player/remyrouyer/games/archives Request the specific monthly archives for the user imrosen: https://api.chess.com/pub/player/imrosen/games/2024/12 https://api.chess.com/pub/player/imrosen/games/2012/01 Compare these to other valid archive links returned by https://api.chess.com/pub/player/imrosen/games/archives. For example: https://api.chess.com/pub/player/imrosen/games/2024/11 https://api.chess.com/pub/player/imrosen/games/2025/01 Actual Behavior:The following endpoints return a 404 status code with an internal error message: https://api.chess.com/pub/player/remyrouyer/games/archives https://api.chess.com/pub/player/imrosen/games/2024/12 https://api.chess.com/pub/player/imrosen/games/2012/01 Response: { "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." } Other archive URLs for imrosen work as expected. For example: https://api.chess.com/pub/player/imrosen/games/2024/11 https://api.chess.com/pub/player/imrosen/games/2025/01
Avatar of remyrouyer
remyrouyer Apr 17, 2025
It’s common knowledge that the review feature has a default quota of one game per day for free-tier users, but once a game is reviewed, the game report is always open for future revisits. But today, I encountered an anomaly while reviewing some of my old games. At first, I still had access to the old reports, with stuff like move quality, accuracy, and AI coach fully enabled. Nothing seemed wrong yet, so I proceeded with my usual routine—playing a few rapid/blitz games before reviewing one of them. After that, I went back to my old game report, and this showed up : This meant I was blocked from accessing a game that had already been reviewed. As an experiment, I even asked a friend to recreate the same use case, and he experienced the same issue. Here are some snapshots :
Admins