Let's Do The Procedure

Chess.com Game Fetcher and Streak Counter

A tool for fetching a player's rated chess.com games between a defined range of months. These can be filtered by time control (or a time group), with the option of excluding players by defining lower and upper rating differences between the player and their opponents. Additionally there is an option to count win streaks 10 or 25 games in length.

The processed games can be downloaded in PGN, CSV and JSON format. Specific field documentation for the CSV and JSON formats can be found further down the page.

Format: {total seconds}+{increment}. Multiple formats can be added with commas. e.g. 180 for 3|0, 180+1,60 for 3|1 and 1|0
Bullet, Blitz, Rapid, Daily, All Time Controls or Titled Tuesday
Excludes opponents with a rating difference lower than this. e.g. -200 will exclude all those with a rating 200 points or more below the player.
Excludes opponents with a rating difference greater than this. e.g 400 will exclude all those with a rating 400 points or more above the player.

Field Name Definitions

date_endtime
The game endtime in a readable format.
time_class
The time control grouping, i.e. bullet, blitz, rapid or daily.
time_control
The time control in total seconds, plus increment. e.g. 180+1 for 3|1
player_rating
Player rating when game was played.
opponent_rating
Opponent rating when game was played
rating_diff
Difference between player and opponent ratings (player_rating-opponent-rating)
result
'win', 'loss', or 'draw'
color
The piece colors the player had ('black' or 'white').
unix_endtime
The game endtime in a Unix Timestamp format.

CSV Line Example

date_endtime,time_class,time_control,player_rating,opponent_rating,rating_diff,result,color,unix_endtime
01/06/2024 15:17,bullet,60+1,1628,1603,25,win,white,1717251433

JSON Object Example

{"games": [
{
"date_endtime":"01/06/2024 15:17",
"time_class":"bullet",
"time_control":"60+1",
"player_rating":1628,
"opponent_rating":1603,
"rating_diff":25,
"result":"win",
"color":"white"
"unix_endtime":1717251433
}
] }

About The Site

The site is entirely front end (there are no server calculations made). There are two HTML files from which everything can be found. You can view their source by manually copying the below links into your address bar. Further, there is no kind of tracking on the site beyond standard server access logs.

view-source:https://letsdotheprocedure.com/index.html view-source:https://letsdotheprocedure.com/results.html

At first I put site together because I wanted to make it easier for people to verify or dispute various statistical claims flying around the chess world (circa June 2024) but it turns out streak counters are just fun.

If you have any questions or suggestions for alternations/additions to the site it's probably best to hit me up on Twitter.