Hi, I am creating an application that needs information as to every player that played in titled tuesday, who won/drew/lost each game, and the pgn of each game. I would have just used the api: https://api.chess.com/pub/tournament/{titled tuesday tournament info} as well as https://api.chess.com/pub/tournament/{titled tuesday tournament info}/{all the rounds}/ but it seems that chess.com only stores the last round. Do you guys know of any workaround to obtain all of the rounds?
This match was completed on 21 March. Result confirmed. I can see no changes to the players list. No closures. Now it returns a DB error from the API endpoint which has been fine since the match was opened last November. How can this happen? CC25 D4 R1: Bedfordshire-Northamptonshire vs Aberdeenshire https://api.chess.com/pub/match/1708057 
Hi, I'm trying to make a chess leaderboard of our school students and therefore trying to integrate the Chess.com public API from a backend running on a DigitalOcean droplet. However, when I `curl -v` from my server I get the error `You are unable to access</span> chess.com` with a Cloudflare Ray ID of 952091e50a80fd7c. I think the IP is getting blocked by Cloudflare, is there a way to prevent this happening?
Avatar of stephen_33
stephen_33 Jun 25, 2025
Hi, I’m getting an internal error when using this endpoint: https://api.chess.com/pub/match/1750055 {"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 ."} However, the match is progressing normally:https://www.chess.com/club/matches/los-amigos-de-chanquete/1750055Thanks in advance
Hey, I’m getting an internal error when trying to use the /members endpoint for my club: Club: The BelieversEndpoint: https://api.chess.com/pub/club/the-believers-1/members The response I get is: { "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 clubs work fine with this endpoint — it just seems to break for this specific one. I’m trying to get activity groupings (weekly, monthly, all_time), and I saw this is part of the documented API. Any idea what’s going on or how to fix it? Thanks, Ziggy
Avatar of becausefrench
becausefrench Jun 22, 2025
WHITE IS LOSING WHY IS IT DISPLAYED AS A DRAW? You know why because check this: engine thinks that Rg1+ sac the rook is a draw but engine doesn't notice Bg4+!! and also if anyone of you is gonna say this "This club is not one for site suggestions unless it's about the Public API" or anything similar it's because I got kicked in the beta club so... don't mind it
Avatar of thebanana10
thebanana10 Jun 20, 2025
Another internal DB error https://api.chess.com/pub/player/rayduqueiii/matches  {"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 ."}
Avatar of Tricky_Dicky
Tricky_Dicky Jun 18, 2025
Or fix the bug where bots self destruct when you play well
Avatar of persdseiuf
persdseiuf Jun 17, 2025
Hello, I am currently working on a Chrome extension project that generates a Chess.com bot based on the player's username entered in the box. The goal is quite clear: to create a bot of a specific player in order to prepare against them (for a tournament, for example). The method used is fairly simple but quite effective. I took StockFish 17 as the base computer. Obviously, it is much too powerful to represent the level of a player. So, what I did is take all the characteristics of the player (Elo, strategic and tactical level, time spent per move according to the type of position and the piece moved...) and I will constrain StockFish to use only this set of characteristics! It may sound a bit unlikely, but it is effective. To define all the characteristics, I will use the insights system from Chess.com. This is perfect because it summarizes all the characteristics needed to correctly define a player's strength! It encompasses (when the number of games is high enough) the average accuracy, the opponent’s ranking, the game forms... I won't go into detail about the method used because that's not the purpose of this post. What I'm looking for is a developer who can assist me in creating the plugin. I have a few people here and there helping me, but none on a long-term basis. I'm looking for someone who is well-versed in JavaScript and HTML. This is a request for collaboration with shared merits, so there is no remuneration. If you are interested, add me on Discord so I can present the project to you in more detail! Discord : RUBULOME
A feature where you can create team tournaments.
Avatar of Tricky_Dicky
Tricky_Dicky Jun 13, 2025
Subject: Request for Automation Permission – Grand Tourneys Project Chess.com support asked my to reach out to you guys. I think they were confused. They want me to message back your consensus. I’m AlAlper, the owner of the Grand Tourneys club. I’ve built a system to help manage my themed tournaments more efficiently. I would like prior permission to use limited automation via Selenium (or an approved method) to: Log in and fill out tournament creation forms Post club announcements or updates in club forums This automation only accesses my own club and tournament forms, and runs at a low frequency. I can insert the following User-Agent string to identify and tag automated requests: GT-Series-Creation-App (Selenium 4.28.1 / Python 3.9.13) -- Creates Grand Tourneys Themed Tournament Series. (contact - BEST @AlAlper on Chess.com or LEAST RELIABLE myemailaddress@mydomain.com) I’m happy to follow any additional requirements, use API endpoints where applicable, or scale back the tool as needed. Please let me know what steps I should take for approval. I will message the consensus back to Customer Service. I would really appreciate approval. Thank you,AlAlper
I've just posted this in OD but it seems even more appropriate to this club? .... https://www.strongdm.com/what-is/chess-com-data-breach#:~:text=On%20November%208%2C%202023%2C%20hackers,auditing%20systems%20for%20malicious%20access.  "Has chess com ever been hacked?On November 8, 2023, hackers under the username DrOne leaked a database containing the personal information of over 800,000 Chess.com users. While it affected only a small fraction of the company's 150 million members, the Chess.com data breach still demonstrates the importance of auditing systems for malicious access.4 Feb 2025. How Did It Happen?The Chess.com breach happened due to unauthorized data scraping from its public API. According to Chess.com's statement to Hackread, malicious actors exploited the “Find Friends” feature in the platform’s API, which allowed access to publicly available user data. They then collected members' data from the Chess.com profiles and leaked them to the dark web." .I came across that just now by accident but I don't remember the site making us aware of this but maybe it issued an announcement somewhere that was soon forgotten? I've a feeling that was around the time we were required to provide a client-id for the first time when making endpoint requests. The site never really explained why that change was needed so urgently as far as I can remember - does anyone remember this being explained? I also don't remember the “Find Friends” feature - what was that?
If anyone is a programmer, can you explain why no one can see past page 10000 on otf dead at night? I tried relogging, reloading, and even editing the hyperlink, but nothing works. the only solution I have is to go on mobile and through the app pls help
Avatar of Rayfamily
Rayfamily Jun 8, 2025
This match now can't be be accessed from the API, breaking scripts.   https://www.chess.com/club/matches/1672221 $ curl https://api.chess.com/pub/match/1672221 {"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 ."} $ curl -v https://api.chess.com/pub/match/1672221*   Trying 104.18.138.67:443...* Connected to api.chess.com (104.18.138.67) port 443 (#0)* ALPN: offers h2,http/1.1* TLSv1.3 (OUT), TLS handshake, Client hello (1):*  CAfile: /etc/ssl/certs/ca-certificates.crt*  CApath: /etc/ssl/certs* TLSv1.3 (IN), TLS handshake, Server hello (2):* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):* TLSv1.3 (IN), TLS handshake, Certificate (11):* TLSv1.3 (IN), TLS handshake, CERT verify (15):* TLSv1.3 (IN), TLS handshake, Finished (20):* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):* TLSv1.3 (OUT), TLS handshake, Finished (20):* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384* ALPN: server accepted h2* Server certificate:*  subject: CN=chess.com*  start date: May 29 10:33:32 2025 GMT*  expire date: Aug 27 11:33:12 2025 GMT*  subjectAltName: host "api.chess.com" matched cert's "*.chess.com"*  issuer: C=US; O=Google Trust Services; CN=WE1*  SSL certificate verify ok.* using HTTP/2* h2h3 [:method: GET]* h2h3 [ath: /pub/match/1672221]* h2h3 [cheme: https]* h2h3 [:authority: api.chess.com]* h2h3 [user-agent: curl/7.88.1]* h2h3 [accept: */*]* Using Stream ID: 1 (easy handle 0x55ee0b6bd780)> GET /pub/match/1672221 HTTP/2> Host: api.chess.com> user-agent: curl/7.88.1> accept: */*> * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):* old SSL session ID is stale, removing< HTTP/2 404 < date: Fri, 06 Jun 2025 09:04:11 GMT< content-type: application/json; charset=utf-8< content-length: 173< x-chesscom-matched: pubapi_match_TwirpError< etag: W/"8b6d437c6abd82c9286a4a94dbe908b3"< link: <https://api.chess.com/context/Exception.jsonld> rel="http://www.w3.org/ns/json-ld#context"; type="application/ld+json"< last-modified: Friday, 06-Jun-2025 07:26:17 GMT+0000< access-control-allow-origin: *< cache-control: public, max-age=30< expires: Fri, 06 Jun 2025 09:04:21 GMT< x-chesscom-meta: lean=cached< x-chesscom-request-id-lb: 5e003dc40eb39f4efb8ec22f4730c4f3< x-chesscom-request-id-cdn: 94b6bd289a2435ca-DFW< x-chesscom-servedby: 36< strict-transport-security: max-age=63072000; includeSubDomains; preload< cf-cache-status: HIT< age: 20< set-cookie: __cf_bm=ASKTUjLdBfhwDQL7wStKhSk393N.gtMM8FBl4kKweC0-1749200651-1.0.1.1-Z0xZ3yCOgIi4sOjy7DIwaU2CHWzNk9XFct.sl62N4cyyLDPQ4J_jRdN5fzLdFku.ttT6Xi0e3pcY6ShdwHQn2u2akB5rtcYibvOnHhqb69NIh5CzikDQKwE0JInW3XO5; path=/; expires=Fri, 06-Jun-25 09:34:11 GMT; domain=.chess.com; HttpOnly; Secure; SameSite=None< report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=N%2FYd6AZlSqzmyakJ1BdvOj7J8BtW0HSryEYov7rbsyzqbxfwqgP1kNzMjdyEj8c%2BI9eC%2FRtxI1tKmx8KC%2B26VeR2%2Bmh8tffkOI6EJhmafeos7Z0K5yhdgKN7PpjzmU8%3D"}],"group":"cf-nel","max_age":604800}< nel: {"success_fraction":1,"report_to":"cf-nel","max_age":604800}< server: cloudflare< cf-ray: 94b6bda83991f65f-LHR< alt-svc: h3=":443"; ma=86400< * Connection #0 to host api.chess.com left intact{"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 ."}
Avatar of ImperfectAge
ImperfectAge Jun 7, 2025
https://api.chess.com/pub/player/maska_x/matches Still getting issues with some match archives when they are very large. Usually correcting after about 24 hours. This one has not so far. {"status":"error","message":"Internal Server Error"}
Avatar of Tricky_Dicky
Tricky_Dicky Jun 7, 2025
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