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
I would like to make an application that alerts if hikaru is online and sends me the moves for example.
andreamorandini Apr 8, 2019
I was hoping if we could have an option that could tell us how many people have been invited to a club by a person and we could invite more than 30 users per day?
aBhinav_147 Apr 5, 2019
Can we add those two values? When I access data through Google sheets I can't effectively read full member list to get count and avg rating. Those two values are available in web-version on club details, so should be available somewhere in your database. Thanks.
Edit: URL corrrected per @Tricky_Dicky's post #3. https://www.chess.com/news/view/published-data-api#pubapi-endpoint-club-matches It would be very helpful to me to have start_time included in the above endpoint, where one is set, or where the match is "in_progress" or "finished". I am writing a report on which members of a club are active. I would like not to have to pull down all match data ever for a club, and if start_time were included I could ignore, say, matches older than 12 months without having to download their data. Thanks for your consideration. [ Priority? So far, not so bad; downloading match data for a team is faster than I thought it would be. I've not tried for Team Russia or The Power of Chess. They would be painful. ]
Hi there, I appreciate this isn't the ideal place to put this question, but the searches I was running led me here and I think if anyone knows the people here will. I'm trying to set up a small in-club ladder and would like to make it easy to challenge players with the correct time settings and a standard game name to help players recognise those incoming challenges Is it possible to craft a URL that will trigger a game request automatically with set criteria? For example, can I set the opponent, and game length / game name automatically in this way? It's be great if I could craft a 'Challenge This Player' link people could easily click.
BaronVonChickenpants Mar 27, 2019
I may be missing something obvious here but when I open UTF-8 encoded files that I've saved in MS Notepad, it sometimes opens them in ANSI mode by default. The result is that any non-standard characters are not displayed & their codes are shown instead. It may only be when I've saved a UTF-8 encoded file as output from a Python script but they do save correctly in that format. Here's an example - writing '✮ Chess Abrogators ✮' to file returns the following if opened in ANSI: ✮ Chess Abrogators ✮ Now this is easily corrected if the option of UTF-8 is selected as the encoding mode when opening the file but is there a way of setting this as the default? And why, if I'm saving a file in UTF-8, does Notepad bother to use ANSI as the default sometimes? I can't see a setting in Notepad for correcting this.
stephen_33 Mar 20, 2019
error in 960 stats endpoint Example Web page https://www.chess.com/member/apsuaserkan Profile page shows 960 Unrated, highest 1200. Full stats show highest 800 (constant - no changes) API https://api.chess.com/pub/player/apsuaserkan/stats Shows 800 When entered Team match was placed in 1200 rating position. As I am writing this I realise the error is probably Web page and not API.
I'm developing software that needs to access a user's most recently completed game. I see that I can get the games in near realtime using e.g. : https://api.chess.com/pub/player/ck_russ/games/2019/02 But this something I probably want to poll every 10 seconds or so potentially from numerous players since users may want to also use the software on games played by their friends or favorite players. As each archive grab could easily grow to thousands of games it seems like this would be a drain on both chess.com's resources, as well as that of my users. Is there any other more efficient way to obtain recent completed games? If there isn't I'd propose an API endpoint along the lines of: api.chess.com/pub/player/ck_russ/games/after/TIMESTAMP which just returns the 0 or more games played and completed after TIMESTAMP.
I had the idea to write a simple moo.bot command that would use moo.bot's JSON url fetch integration and the chess.com Published data API to provide links to the next club tournament for a friends stream. Basic Concept A viewer watching on twitch goes into the chat window and types the command e.g. "!tournament" Alternatively schedule the command to run every few minutes. Moo.bot sees the command and executes a JSON URL fetch to get the next tournament for a specific club or perhaps using player endpoint for the streamer Moo.bot populates a message e.g. "Join my club {club url} and then join the tournament here: {tournament url} and posts to the chat. Everyone watching sees the message via twitch chat. Twitch mods and streamers rejoice as they don't have to keep modifying a copy and pasted message every time a new tournament is queued up. All the ways I tried and failed so far Unfortunately it looks like this is impossible; but I'm posting here in hopes I've missed something or maybe the chess.com developers will take pity on me and offer a fix/workaround/enhancement. Here are my investigations so far: 1- The Club Endpoint (data not available) -- shows matches, but does not show tournaments :-( . No luck there 2- The Tournaments Endpoint (can't get a list of tournaments) -- only lets you get the tournament if you know the URL; no way to query for all upcoming live tournaments and get the URL. 3- Player Tournament Participation Endpoint (broken) --https://api.chess.com/pub/player/{username}/tournaments) -- in theory this should work because the spec says it provides an array of registered tournaments with the tournament URLs. Unfortunately this isn't working for example: https://api.chess.com/pub/player/tryingtolearn1234/tournaments always returns empty data even though I've played in many tournaments. I tried other players as well, it never seems to have data. {"finished":[],"in_progress":[],"registered":[]}
WhiteDrake Feb 18, 2019
I created a chess club at my high school. To ensure fairness in matches, I created a spreadsheet (Google Sheets) with all members' names and a column for Rapid ratings. However, it is obvious that manually editing this would be tedious. I know that the API can fetch Stats data, but I am new to working with this. If anyone is able to help, it would be much appreciated. Thank you.
WhiteDrake Feb 16, 2019