Batch fetching — concurrent multi-month game retrieval via thread pool
Concurrent access is against the Public API access rules and could result in blocking anyone using that.
https://www.chess.com/announcements/view/published-data-api#pubapi-general-rate-limits
I made a python library to extend some functionality of the Public API. Current features include:
Games by opening — filter by ECO code ("B07") or opening name substring ("Caro-Kann")
Batch fetching — concurrent multi-month game retrieval via thread pool
Time control filters — narrow results to bullet, blitz, rapid, or daily
Recent losses — walk backwards through months to find your latest losses
Player stats — current ratings and W/L/D records across all formats
PGN parsing — extract clock times, move lists, and time-pressure moves from Chess.com PGNs
Custom exceptions — PlayerNotFoundError, RateLimitError, DataGoneError so you never need to inspect raw HTTP status codes
Automatic retries — exponential backoff on 429 (rate limit) responses
Let me know if anyone has any ideas for more functionality or if you find any bugs in the package. It is currently in alpha, if anyone would like to contribute DM me or take a look at the github repo: