Hi everyone. I'm looking to obtain a large dataset of chess games played and the number of moves it took to reach a conclusion (whether it be checkmate or resign or draw). Essentially, I'm looking for count data to analyze and for each game, I'd like to have the ELO/Average Elo of the players involved.
so I dont know if it fits in here but I wanted to make a color blind mode which literally use color palletes so I have a few ideas The goal is to make the chess board and etc easier to use first of all we can literally add a theme aka color blind for the color blind (depends on if the staff will) and change the board and piece color but it will look crude we can use this pallet as it is inclusive for all and easy to tell The only problem is the pieces For normal color blind it wont be a problem, for black and white color blind which has like 20 types so i didnt bother to type it out, it will because the shades look the same So either we have to make sure the board has dark and light colors and the board has to have super semi light and super demi dark but its kinda hard to tell so im thinking maybe we can do a semi light and a dark but it might not work well sub idea: i know this sounds weird but maybe we can add letters or shapes to the board to assist them Idea 2: this is what i think is good use super light colors on all squares white so all can see well and then put dark pieces, one problem, how do we distinguish pieces, well then we have to put light pieces , bbut that wont work and i thought well hmm, i checked our chessboard.... THE PIECES WERE BORDERED yes the white pieces so what if we literally did that they wont be able to tell the black border we can replace the fill of the pieces for color blind to be fill with the custom hex heres the plan we have squares, white but in an alternating fashion some have borders(highlighted) to help them place pieces in the right square white pieces have black borders which works in all squares black pieces are black which work in all squares viola i was first confusing myself with designs that had white and black squares and god that broke my mind
There is an inconsistency in the capitalisation convention in the API data. Normally usernames are given all-lower-case (e.g. "rainpiper"), but in match-board endpoints: https://api.chess.com/pub/match/[match-number]/[board-number] in the entries $games$white$username$games$black$username usernames are spelled with capitals (e.g. "RainPiper"). So if you run a case-sensitive comparison, it will fail. Of course, if you know this, you can easily build a workaround. But it would certainly be nicer if the capitalisation convention would be handled consistently.
I am writing a Spark application in Scala to be able to read player's game data from the Chess.com API. Reading this data into a DataFrame, however, is difficult. Essentially my DataFrame contains one collum and one row of data called "games" because of how the JSON is formatted in the archive. I'm not sure how to get around this. Any tips or insights?
CosmosOfSolomon Feb 19, 2021
Hi! I just started playing chess. I noticed there are personalized training suggestions in the post game analysis (in the report tab) This: So I figured maybe I could collect the top X most common suggested trainings over Y time, and focus on the ones i get suggested the most. I can get my games from the api. But I cannot find the training suggestions anywhere. Is it possible? Alternatively, could I fetch it from the web page itself somehow? Seeing as I have the game links from the api. But my webrequest/curl for that page url does not contain the word "training". So maybe I'm missing something
Damnedkrt Feb 19, 2021
In this match https://api.chess.com/pub/match/1207862 Status is shown as "closed". Not documented in specification. Web page shows no status but match should be in registration? https://www.chess.com/club/matches/1207862/games
stephen_33 Feb 15, 2021
When you hit the following API end point: https://api.chess.com/pub/tournament/{url-ID} you get a time_control subkey within the settings key. For example: using url-id = -titled-tuesday-blitz-1948540 "time_control": "1800+10" I checked the games in that tournament and they seem to be 3:1.. I was expecting a time_control like 180+1 or 180000+1000 or something. What is the unit of measurement being used?
Please is it possible to help include the master games collection along with the games stats in the available API?
MaskedSuperPakara Feb 14, 2021
Are there any APIs to submit a game and get a game report?
I recognize this is probably a large list, but is it possible to fix the problem with accessing the list of US players from the API? $ curl https://api.chess.com/pub/country/US/players{"status":"error","message":"Internal Server Error"} (updated)
stephen_33 Feb 2, 2021
Hi!I am trying to find a way to get a list of usernames for players who "cheated", but I could not find any good way to do that, so I am asking for your help.
CosmosOfSolomon Jan 23, 2021
EDIT Should have looked at the exception, it's because of usage limits: [Error [WebapiError]: Too Many Requests] { statusCode: 429 } Where can I find out about the usage limits? I'm trying to figure out the number of cheaters per country, so Ive written a small application to do just that which connects to the chess-web-api. Basically, it gets all the member names per country (in this case Pakistan). Then it sends a request for player information for each member and checks the members status. If the member has a status of 'closed:fair_play_violations' then it is counted as a cheater It works for small numbers (e.g. 100 players).. but I get about 500 errors if I go for say 3000 members. The repeated call to getPlayer fails about 500 times if I have 3000 members. see code screenshot below and actual code pasted below that. Ive added a member into the list who is a known cheater just for test purposes (ajtheboss1709) Anyone know why I get errors? Is there a quota limit that Im failing? Ideas how to solve? Written in javascript var ChessWebAPI = require('chess-web-api'); var chessAPI = new ChessWebAPI();countCheaters().then(() => {console.log('Finito')}) async function countCheaters() {const res = await chessAPI.getCountryPlayers('PK')const players = res.body.players const subPlayers = players.slice(0, 3000)const cheaters = await getCheaters(subPlayers) console.log('Number of cheaters = ', cheaters.length);} async function getCheaters(subPlayers) {subPlayers.push('ajtheboss1709')const res = await Promise.all(subPlayers.map(async sp => {try {const player = await chessAPI.getPlayer(sp)return {player: sp, cheater: player.body.status === 'closed:fair_play_violations' ? 'Y' : 'N'}} catch (ex) {return {player: sp, cheater: 'UNKNOWN'}}})) console.log('unknown = ' + res.filter(r => r.cheater == 'UNKNOWN').length) return res.filter(r => r.cheater == 'Y')}
Storms-Fast Jan 22, 2021
I am busy collecting some specialised data for chess 960 matches from the API and came across the following curiosity: In the player stats endpoint (https://api.chess.com/pub/player/{username}/stats) the entries "chess_daily" / "record" / "timeout_percent" and "chess960_daily" / "record" / "timeout_percent" are always the same (for those players that have a chess 960 record). Is this a bug? Or is it simply not possible to discriminate between timeouts in normal games and chess 960 games?
Hi All, This may be quite a basic question as I am fairly new to REST APIs. How often does the endpoint that gives club members refresh? Is there a way to tell? I see the documentation says: "Please note: The endpoints refresh at most once every 24 hours, if not noted otherwise." but it doesn't give an "at least" guarantee.The endpoint pattern is: https://api.chess.com/pub/club/{url-ID}/members if that is relevant. Is there at least a rule of thumb? I am wanting to use this with some software for assisting with running a tournament.
Tricky_Dicky Jan 18, 2021
I would like a URL which I can type into my browser and the output is my Rapid Rating. I know its super simple but I keep getting {"code":0,"message":"An internal error has occurred.} My URL so far is https://api.chess.com/pub/player/erik/stats/chess_rapid.
MiniMitre Jan 16, 2021
I would find the following changes useful New endpoint that returns all closed accounts per country (the current endpoint only returns active accounts); preferably in a paged fashion (100k at a time, ordered by player_id) Endpoint that returns all 'players' per country in a paged fashion ordered by player_id i.e. you can request say 100,000 players at a time rather than the full shabang (the US times out if you request all players) New endpoint that returns player details in batches; e.g. you pass in 100 member names and get a response that contains 100 player details (e.g. array / one JSON object keyed on player name) For accounts that have a status of 'closed:fair_play_violations' - also add details of the violation; e.g. engine or sandbagging
Storms-Fast Jan 12, 2021
Hello everyone, Apologies if this has been asked before, but I'm having trouble with accessing the player lists of some countries like the US and UK, and I'm assuming that's due to the size of those lists. Does anyone have any ideas about the cause of the problem and solutions or workarounds? Thanks!
Hello,thank you for the great API.I am wondering if there is possible to query only one game based on the chess.com id. Is it a possibility to do https://api.chess.com/pub/game/292659724?Thank you in advance.
elmsakni Jan 7, 2021
Is it possible to add new timestamp "end_time" in this api: https://api.chess.com/pub/club/team-usa-southwest/matches I didn't find it else where...
multivac Jan 5, 2021
I want to make a Python program that makes a graph for members per day using this API: https://api.chess.com/pub/club/the-golden-64-squares/members. How can I do this?
RAD_Financials Jan 3, 2021