I’m sure a lot of you have already been solving this challenge. What’s the best way to assign a name (of a member or of a club) to an immutable identifier of any kind? I mean, club names may change and members can change their names too. If I cache some data (e.g. how many team matches a member has tried to sign up for) and then a name gets changed, how easily find out that I already have some data cached for that name? In theory, a good sollution would be to convert the current name of a member (or club) to an integer, which doesn’t need to hold any meaning, just be unique and immutable (hence the title of the thread). Some sort of a primary key candidate. Members register to Chess.com sequentially (and clubs are created in sequential order too), so the number in the registration order would be a candidate, if it’s accessible somehow. So, what’s currently the best way to do this?
Hi there! Recently i've noticed, that in the endpoint https://api.chess.com/pub/player/mxgolota/stats number of attempts in puzzle rush isnt updated for all players. For example on my page i see, that i made 316 attempts. And api returns 35 as number of attempts.
youhadyourchance Aug 20, 2019
Hello, I want to report this case where you can change the Score of a finished Match by recalculating it through the "Admin Tools > Sync Scores" In this match GFL 2019 R1: Juventus F.C. vs Boca Juniors when it was in course, the player Racine2806 was banned and the two games that he won, once the match finished, was assigned to the player ADeGa. After that, the match result was Juventus 8.5 vs Boca 9.5. After doing a Sync Scores the score changed assigning the points to Racine2806 without considering that he was banned while the match was in course. I think that when the match finishes if you make an adjustment to the score contemplating banning in the games after do a Sync Scores you have to keep that criteria to recalculate the match. I hope some admin can give more clarity on the subject. Thanks.
stephen_33 Aug 13, 2019
I think we should to recomend to developers of chesscom make option to creating subclubs inside main club.
tortoises3 Aug 9, 2019
Any chance of adding the following two items to the stats end point? https://api.chess.com/pub/player/{username}/stats 1. Include the FIDE or national rating if on web page 2. Include Average with Puzzle Rush stats. Thanks
Tricky_Dicky Jul 27, 2019
https://api.chess.com/pub/player/ElenaStamataki Web page shows location as "England" https://www.chess.com/member/ElenaStamataki API end point does not include "location" data
Tricky_Dicky Jul 26, 2019
under the endpoint https://api.chess.com/pub/player/hikaru/games/2019/07 there is an `end_time` but no `start_time` property(daily games seems to have it, but not bullet/blitz, haven't checked rapid). also could the `result` be removed from the `white` and `black` properties, and just be added to the main properties of the game. I feel like from an OOP approach, the game should have a result, players of the game shouldn't have the result(this would make it tons easier to query from a LINQ perspective) under the endpoint https://api.chess.com/pub/player/hikaru/stats puzzle_rush:best:total_attempts <--> appears to be incorrect total_attempts
CalculatedBlunder Jul 19, 2019
Are there plans to support the access to https://www.chess.com/tactics ? It would be great if we could search by tag, rating, etc. and get some json with the position and correct moves. My idea is to have an app were you can create a custom set of tactics to resolve multiple times.
ChessCoach Jul 16, 2019
Hi Everyone, I'm very new to chess.com but quite addicted already and was stoked to discover this API !! Only just found it a few hours ago but knocked up a little Powershell (my preferred language) and thought I'd share (since nobody else I know "in real life" will appreciate it)... Clear-Host $myUser = Read-Host "Your chess.com username" $opponent = Read-Host "Opponent's username (leave blank for all opponents)" if (!$opponent) { $opponent = ".*"} $myArchives = Invoke-WebRequest -Uri https://api.chess.com/pub/player/$myUser/games/archives | ConvertFrom-Json $games = @() foreach ($archive in $myArchives.archives) { $games += Invoke-WebRequest -Uri $archive | select -ExpandProperty content | ConvertFrom-Json } $results = $games.games | select white,black $whiteWins = 0 $whiteLosses = 0 $whiteDraws = 0 $whiteAbandons = 0 $blackWins = 0 $blackLosses = 0 $blackDraws = 0 $blackAbandons = 0 foreach ($row in $results) { if (($row | select -ExpandProperty white | select -ExpandProperty username) -eq $myUser ` -and ($row | select -ExpandProperty black | select -ExpandProperty username) -match $opponent) { switch (($row | select -ExpandProperty white | select -ExpandProperty result)) { "win" { $whiteWins += 1} "checkmated" { $whiteLosses += 1} "resigned" { $whiteLosses += 1} "agreed" { $whiteDraws += 1} "abandoned" { $whiteAbandons += 1} "timeout" { $whiteLosses += 1} } } if (($row | select -ExpandProperty black | select -ExpandProperty username) -eq $myUser ` -and ($row | select -ExpandProperty white | select -ExpandProperty username) -match $opponent) { switch (($row | select -ExpandProperty black | select -ExpandProperty result)) { "win" { $blackWins += 1} "checkmated" { $blackLosses += 1} "resigned" { $blackLosses += 1} "agreed" { $blackDraws += 1} "abandoned" { $blackAbandons += 1} } } } Write-Host "`n$myUser playing as White... Wins: $whiteWins Losses: $whiteLosses Draws: $whiteDraws Abandoned: $whiteAbandons" Write-Host "`n$myUser playing as Black... Wins: $blackWins Losses: $blackLosses Draws: $blackDraws Abandoned: $blackAbandons" Write-Host "`n$myUser Totals... Wins: $($blackWins + $whiteWins) Losses: $($blackLosses + $whiteLosses) Draws: $($blackDraws + $whiteDraws) Abandoned: $($blackAbandons + $whiteAbandons)"
Hi, The team (club, group, ...) endpoint provides access to a list of matches a team has played. I would like access to a the list of vote chess games that the team has played, so that they may be downloaded via api.chess.com. This is the practical minimum for vote chess support, I think. Initially just the PGNs of the games would be fine and I wouldn't think difficult? Comments and lists of members who played are not high on my list, and the list of members via the website is for some reason only available while logged in and to people who were signed up to play in the particular vote chess game. Rationale: To evaluate a team's vote chess w.r.t. possible engine use requires use of the website and downloading every game individually.
Tricky_Dicky Jun 29, 2019
I checked the API documentation and looked at a few examples. As far as I can tell, stats does not include live chess ratings -- at least, not for many variants. Game monthly archives does include live chess ratings. If I wanted to write a bot that would query my bughouse rating, it seems like I would need to use the API that downloads all games for the month to find that rating because of the omission in the stats API. Is that correct? So if I write a bot for Twitch that lets people type !rating in my chat to get my current bughouse rating, will I need to download all my games for the month every time?
chuckmoulton Jun 7, 2019
Hi, I have a great idea for chess.com and being a member i would love to speak to someone who will take my idea seriously and even give me some level of protection of my idea before i share the idea as i believe it could be a game changer for the online chess industry and if we go about it the right way im sure we could secure chess.com as the go to website for chess for years to come.
This may be an isolated incident. https://api.chess.com/pub/match/947106 Username @bigphil_yorks status: "closed:fair_play_violations" Not listed in "fair_play_removals" at end of data string
Tricky_Dicky Jun 7, 2019
Hi, If tradition holds, I'll find a few things as I work through the documentation. If someone either is prepared to check "follow" on this thread or ask me to post a note wth the thread URL when I update it, that would be good. I'll try to keep things to one item per post so they can be checked off somewhere ("user error", "fixed", "will fix", ...) Giles
Hello, I'm new to this club and try learn how to use the api with python. While iterating over https://api.chess.com/pub/country/FR/players I found out that some players are not in this list. For exemple https://www.chess.com/member/bloum1 or https://www.chess.com/member/revaix advertise themselves as french people but are not in the aforementioned list... how is it possible? Is there something they didn't fill inside their profile? Thanks
Hi, I've managed to use your API to download the games of a specific user. Is there a way to download games of any user but within certain rating ranges or playing under specific time controls? Or is my best bet just to input random usernames then filter the results afterwards? Thanks
Hi, The following api call results in some moves being missed in at least one of the games returned. At least I have had a good look and can't see why this would be the case. https://api.chess.com/pub/player/yogabija/games/2019/02 The first result I see is; "https://www.chess.com/daily/game/199908340" pgn "[Event \"AIP Open Theme Match #1 Philidor Defense For Clubs < 1000 members please - Board 29\"] When I look at the list of moves they start at move 3 The PGN for this with some pre-text for context shows Link \"https://www.chess.com/daily/game/199908340\"]\n\n3. d4 Bg4 4. dxe5 Bxf3 5. Qxf3 dxe5 6. Bc4 Qe7 7. O-O Nc6 8. Qb3 O-O-O 9. Qh3+ Kb8 10. c3 g6 11. b4 Qd7 12. Qxd7 Rxd7 13. Bd5 Nge7 14. Bb3 Nc8 15. a3 h5 16. a4 Nd6 17. Nd2 Bh6 18. Ra2 f5 19. b5 Ne7 20. c4 f4 21. c5 Ndc8 22. c6 Rd4 23. cxb7 Nd6 24. f3 g5 25. Ba3 g4 26. Rc2 Rh7 27. Rfc1 Ng6 28. Bd5 Rxa4 29. Bxd6 1-0" Very odd, could some one shed some light on this? I had a brief look through the recent forum posts and couldn't see anything similer. Cheers
jesperdalberg Apr 21, 2019
Two problems in end point https://api.chess.com/pub/match/{ID} 1) status : closed. This is not part of the specification. 2) Items in red missing from player information "username": "username", "board": "url", // url of board "rating": 1355, //rating of player "rd": 25.12, //Glicko RD "timeout_percent": 25.12, //timeout percentage in the last 90 days "status": "basic" //status of user Example https://api.chess.com/pub/match/995756
Tricky_Dicky Apr 16, 2019
I've been asked to compile a list of all the members in a club, in order of numbers of each nationality or country. Easy enough using the available endpoint data for club members, member profile & country data. But then I was asked if I could provide the country flag against each national group of members & that made me stop & think - how can you do that from endpoint data alone? I can solve this by painstakingly collecting all the country flags image URL's but is there an easier way?
stephen_33 Apr 13, 2019
The quarter-final round in the 20th. Knockout tournament I'm helping to run was due to start late afternoon & as usual, I ran a script I use to check the status & number of boards in each match. Normally I just see matches with status of 'in_progress' or sometimes 'registration', if a team has failed to reach the minimum number of players but suddenly I saw this in the fourth match:- Team Matches: Current Status:- Date-Time of run: 7/Apr/2019 22:58:25 Match Name: KNOCKOUT S20 QF: Art Of Chess vs Baker Street Irregulars Match Status: in_progress / Number of Boards: 16 Match Name: Knockout S20 QF: Astronomy vs Ab Imo Pectore Match Status: in_progress / Number of Boards: 30 Match Name: KNOCKOUT S20 QF: Sacred Pawn Legion vs North America United Match Status: in_progress / Number of Boards: 18 Match Name: KNOCKOUT S20 QF: NO PASARAN vs Outback Match Status: closed / Number of Boards: 29 What does "closed" mean? I've re-read the documentation for the match endpoint but there's no mention of a closed category. Help & some explanation much appreciated
stephen_33 Apr 8, 2019