Has anyone else run into an issue where you get HTTP 500 errors at some point after sending back-to-back requests with an Authorization header? After some amount of requests, I just get constant errors. For example - I send 20 requests synchronously, and then the subsequent requests all return HTTP 500. APIs work fine via my browser, so it must have something to do with my program. The only change I made was adding an authorization header with the token I obtained. I'm not sending requests in parallel and I have the user-agent header included. It seems to work fine if I don't include the authorization header. I'm following the example from the OAuth documentation: Authorization: Bearer {access_token}. Being a 500 I'd assume it's not on my end. Is this a known issue or am I missing something?
stephen_33 Nov 11, 2023
After recent attack on chess.com servers looks like the whole provider Digital Ocean is blocked. I checked location: USA (NY, SF), Singapore, Amsterdam Response is almost instant (which is a sign of simple logic behind) Below SS when accessing the site regular way, the same error when using API
zainsworth Nov 9, 2023
I posted this in the wrong forum topic, so decided to create my own topic. I have built a unique tournament competition (that runs on Chess.com using APIs from here) that has many elements that solve many issues about online chess. It introduces a completely new concept that ties into my tournament concepts: PPM, which stands for "Progressive Performance Metric." Essentially, PPM represents a calculation that tracks and evaluates how performance progresses or advances over a series of events or activities. More on that later. One of my goals was to enable lower-skill-level players to compete equally with higher-skill-level players. I use a 4 person team format with a novice, 2 intermediate, and an advanced player on a team. I use a sort of all the players based on their skill levels in the roster of qualified 'rapid' chess players who have signed up for the event. The makeup of teams changes from day to day as players' skill levels change. There is a leaderboard that accumulates points earned from daily matches, adds them to any previously earned points, and posts the top point winners to a Leaderboard. Chess.com awards diamond memberships to the top 4 players on the Leaderboard at the end of each Month., I zeroed out the points and started over again each month. The system for awarding points is unique. It is not a traditional system awarding 50%, 30% and 20%. I use a simple formula for getting a basic award unit, x=n*(n+1)/2 so that n is the number of participants. I then take the total points to be awarded, bpu =((4.8 x n)/x), and divide that by x to obtain the basic price unit, or bpu. Let's say we have 4 teams winning. !st place would get 4 times the bpu, 2nd gets 3 times bpu, 3rd gets 2 times bpu and 4th gets bpu. I have never heard of that method of prize distribution anywhere. The design of the system is such that no matter how many participants (and it is designed to handle thousands each day), there will be awards distributed based on a ratio. That ratio can be one winner in ten, one in 20, one in 30, and so on. A player could participate in as many different events as they desire. Since we use a person's Chess.com rating average over 7 matches, they can be applied to many events, depending on how the events we set up. I began having two events a day - winner-take-all, and 1 winner for every 10 participants, however, I am just running the one winner for every 10 participants now. Depending on the Chess playing community, I could expand the event count. Turning to the event itself. I use the PPM method to compare changes in a player's skill level averages. I add 7 previous ratings awarded to a player playing rapid games on Chess.com. I divide that by 7. That gives me a player's starting average. I then add the results from the rating from the most recent match to the previous 6 matches, divide that number by 7 and I have determined the current rating average. I subtract the starting average from the current average and that gives me their PPM. It is usually a number with more than 6 decimal places and that keeps ties to a very very rare occurrence. Now each player's PPM is applied to the team's total PPM. I compare this team total to all the other teams to determine who is on the winner's roster. CHEATING!!!. How? So what? Using the PPM method a player cannot use a single match but must depend on the play of their teammates and who are they? A cheater would not know and all games are tracked and their ratings averaged. Why do I post the results off-site from Chess.com? Good question for which I do not have an answer. I believe the competition incentivizes players of ALL skill levels to participate in an International event, that runs EVERY SINGLE DAY. I would hope that someone from Chess.com recognizes the uniqueness of the competition, its out-of-the-box methodology, and its potential for expansion into the online E-Chess gaming community. I have been running the event daily for quite a few months now. I would be willing to open-source the code if someone expressed an interest, even turning over the concept to Chess.com. I only want to be recognized as the Author of the idea and developer of the original code.
YankeeBastid Nov 5, 2023
In the past I spent time designing a chess GUI but never continued to develop the code. If you're interested in UI/UX design and software development let me know. I might like to revive this project of mine and create a ochessbase clone.
chesslover0003 Oct 28, 2023
I'm hoping to create some random game samples for personal research, and do it in a way that does not violate the Chess.com ToS. Any clever ideas? For example, a random selection of 5-minute Blitz games, played in October 2019, by players who were within the rating range of 500 - 600 at the time the games were played. The best I've come up with so far is to manually search in old forum posts until I find a player who matched my rating and date range criteria and then use the API to download their games. Once I found one player, it would be easier to find others because I could just look at their list of similarly-rated opponents at the time. Not elegant, but it would work. For anyone curious, I'd like to run these samples through an engine to determine, for example, whether 500-rated players today are stronger (based on move accuracy) than players of the same rating a few years ago. This seems to be a commonly-held perception, but I've not seen anyone actually try to test it.
LateToMate Oct 23, 2023
I recently found https://www.chess.com/forum/view/general/python-script-to-download-entire-game-archive-for-a-specific-user-convert-it-into-a-csv but it doesn't appear to work for me. I'm unsure if this is because of changes to API endpoints. I'm going to keep troubleshooting. In the meantime, do others have suggestions for scripts to retrieve PGNs from the API with a given username? Ideally, I would like parse and store in CSV format. Perhaps I'll just do it in two steps: 1) download the games in PGN format, 2) parse into CSV format (there is a script for this that I can model what I'm doing). Suggestions for either?
LateToMate Oct 21, 2023
Is the API documented anywhere? Or do I have to search through posts for potential samples? I want to start by retrieving the PGN of a game. If necessary... call for a list of games then retrieve one of those games. Thanks in advance.
chesslover0003 Oct 18, 2023
that day i tried to change my theme and not working
Tricky_Dicky Oct 14, 2023
Not able to upload any backgrounds. It has been like this for the last 5-6 days. It was just working like a week or two ago but now the "Upload" button is not displaying.
Martin_Stahl Oct 14, 2023
Hi, I tried to use chess.com api to get my players archive. In browser it works fine, but in VB (using HttpWebRequest) I get an 403 error. Do I need any authorizsation, headers,...? Regards, Martin
Hellesemer Oct 11, 2023
Hi, I am new here, but I didn't find an answer in the previous posts: I need to download "all" games played within a month (Feb. 2023) like the monthly lichess data dumps. They contain all pgns for all games played on their servers in a given month. I guess, since such data dump doesn't exist, I would need to download the monthly data dumps for each player ... but for that I would need a more or less complete player list. So, the question is, how to obtain such list, or if there is a better method for obtaining that data. I am aware that I probably won't get all games within a month, but in order to compare properly, I need a similar number than what I got from lichess, which is ~100.000.000 games. Cheers Arend
Hey there, I've been getting into chess engines recently and have been wondering if it was possible to get information of CCC games using chess.com's API, such as statistics and the current position. After looking through the Published Data API, I was not able to find anything related to this and thought that it might be a cool addition if it is not already available.
Whitelisted0 Sep 28, 2023
Hi guys, Not sure this is the right place to ask but I created a small iOS Swift library that analyzes a picture of a chessboard and renders the FEN notation of the pieces. I'm currently training my Machine learning model with a lot of different pictures of 2d top-down puzzles. If you are interested in helping me feel free to reach out to me. I'm looking for sharp photos taken from books or newspaper chessboard puzzles. Andy
AlexeyChess Sep 22, 2023
Member listed in country players endpoint incorrectly https://api.chess.com/pub/country/XE/players Looks to be a Guest account with international flag Listed member @Guest0691425877
Tricky_Dicky Sep 22, 2023
Chess.com is undoubtedly a popular platform among chess enthusiasts, offering a plethora of useful tools and resources for players of all levels. While the platform has undoubtedly provided a positive experience, it's important to continually strive for improvements. In this discussion, I would like to suggest an enhancement that could further elevate the user experience. Enhancement Proposal: In the current version of the Chess.com app, one minor inconvenience stands out: when a player selects a chess piece to move, the possible moves are indicated by a point at the center of the destination square. While this approach works, I believe there is room for improvement. Suggestion: Extend the Clickable Area: Instead of indicating the possible moves with a point at the center of the destination square, I suggest extending the clickable area to cover the entire selected square. This means that when a player taps on a piece and then taps on a destination square, the entire square should register the move, rather than just its center. Benefits: Preventing Accidental Errors: This adjustment would significantly reduce the chances of accidental errors during piece placement. Currently, users might occasionally misplace pieces due to the limited clickable area, leading to frustration and disrupted games. Expanding the clickable area would alleviate this issue.Smoother Interaction: With a larger clickable area, the interaction between the user and the app would become smoother and more intuitive. Players would feel more in control of their moves, enhancing their overall gaming experience.User-Friendly Design: To avoid any potential confusion during the development phase, it would be wise to incorporate a slight padding around each square. This padding would ensure that users have no difficulty accurately placing pieces in their desired squares, even on smaller screens or when using touch-based devices. Implementing this suggested change would be a step forward in enhancing the Chess.com app's user experience. It's a small adjustment that can make a big difference, ensuring that players can enjoy the game without the frustration of accidental errors. I appreciate the hard work and dedication of the Chess.com team in creating an exceptional platform for chess enthusiasts, and I believe this enhancement would further solidify Chess.com as the go-to platform for chess players of all levels.
Martin_Stahl Sep 15, 2023
On the 8th September I got a 'Error 502': Database overload. First time ever. Not sure now where that is documented now as it is no longer in the spec? Today (9th September) I've got a 'Error 429': 'we are refusing to interpret your request due to rate limits' Again never had this before. From the spec: Your serial access rate is unlimited. If you always wait to receive the response to your previous request before making your next request, then you should never encounter rate limiting. However, if you make requests in parallel (for example, in a threaded application or a webserver handling multiple simultaneous requests), then some requests may be blocked depending on how much work it takes to fulfill your previous request. You should be prepared to accept a "429 Too Many Requests" response from our server for any non-serial request that you make. In some cases, if we detect abnormal or suspicious activity, we may block your application entirely. If you supply a recognizable user-agent that contains contact information, then if we must block you application we will attempt to contact you to correct the problem. I NEVER make parallel requests. Never have done and the module was one I have run virtually everyday for the past 4+ years. Some understanding of what is happening would be appreciated.
Tricky_Dicky Sep 9, 2023
https://api.chess.com/pub/player/{username} last logon date incorrectly shown for random user names. Unable to see any pattern. examples: https://www.chess.com/member/thrain31 TODAY API 24/08/2023 13:53:00https://www.chess.com/member/joshcad 06/09/23 API 23/08/2023 12:26:00https://www.chess.com/member/robertson80 07/09/23 API 28/08/2023 09:17:00https://www.chess.com/member/jdelej TODAY API 20/08/2023 23:32:00
Tricky_Dicky Sep 8, 2023
Hey all, I've started building a twitch bot in NodeJS using TypeScript, which is a bot that connects to a Twitch channel and listens to user commands. I've started on this project yesterday, so currently it's limited to a single command "!rating <user> <type>" which queries the Player Stats API endpoint and sends a message to the Twitch channel: You can check out more info on the idea and the code at GitHub: https://github.com/sliceofcode/chess-twitch-bot
KittyFleetCommander Sep 7, 2023
Hello! I have been using this endpoint: https://api.chess.com/pub/player/{user} to get info of a user. The endpoint works well in the navigator, but fails with Error 403 in my python code. What is wrong? Is this related with the OAuth 2.0 topic?
stephen_33 Sep 7, 2023