I use the APIs to find 'rapid' players and average their game results. One way of doing what you want could be by retrieving Elo results along with other pertinent data and using them to populate a temp table in your DB. Then retrieve the chess.com IDs that are in the range you are looking for and go back and retrieve just the data you wish to use for your report. Summing what you want and so forth. Just a quick thought without thinking too hard about it.
Obtaining Random Game Samples Within Date and Rating Range?

I use the APIs to find 'rapid' players and average their game results. One way of doing what you want could be by retrieving Elo results along with other pertinent data and using them to populate a temp table in your DB. Then retrieve the chess.com IDs that are in the range you are looking for and go back and retrieve just the data you wish to use for your report. Summing what you want and so forth. Just a quick thought without thinking too hard about it.
Thank you. What approach do you use to find (for example) rapid players via the API? I'm not seeing any endpoints that seem helpful at first glance, but I assume I'm missing something. I can extract a player's data once I have the player's name, but getting the player's name in the first place is the challenge.
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.