The creation of this guide may lead to blockades within the unofficial API, as it is not known if one or more pieces of data this guide contains may be purposely hidden by Chess.com for legal or their own reasons. However I hope this guide will not have a capacity to be used abusively.
Let's start with a link to the official API documentation
https://www.chess.com/news/view/published-data-api
If you're still here you want undocumented stuff. Let me warn what it means to use undocumented endpoints:
List of endpoints that don't exist:1. About Me in a player's profile
I will send links and mention what useful stuff I found in them. In all of them, the website will look like this, with {username} replaced by hikaru, for hikaru's account: https://www.chess.com/callback/user/popup/{username}
Let's start:
https://www.chess.com/callback/user/popup/hikaru
This is generated from trying to message hikaru, and answers the following questions?What's your status*? Are you a staff? What type of premium do you have? Can I gift you a premium subscription, and why? what's your Country ID? Are we friends? Did I send you a friend request? Did you send me a friend request? What's your top puzzle rush score? What's your best rating? In what time control your best rating is?
* Status is not Biography of the user, it's the 50 character status as you input directly in your profile page.
I will be honest. I don't have anything else, so I will let you know how to get the PGN of a game by its URL
Step 1: Take a random URL you need. I will use this: https://www.chess.com/game/live/15360860817
Step 2: Go to this endpoint, the number being the ID of the game. Notice live and game are swapped for unknown reasons: https://www.chess.com/callback/live/game/15360860817
Step 3: From the unofficial endpoint of the callback fetch the date of the game.
Step 4: Use the official API to fetch all games within the same month of one of the participants ( top or bottom )
Step 5: Find the URL of the game within the result, as the URL itself is given.
Step 6: You also get a PGN.
Step 7: ????
Profit
https://www.chess.com/callback/member/activity/hikaru?page=1
This endpoint allows you to see hikaru's recent activity over Chess.com
Let me know if you have other uses which you know the way to do / want to know how to do.
https://www.chess.com/callback/user/games?locale=en_US&all=1&userId=15448422
This gets Hikaru's last games, which is extremely useful for some deep learning programs. The User ID of hikaru was found here, which is identical to one of the other callbacks in this guide:
https://www.chess.com/callback/user/popup/hikaru
https://www.chess.com/callback/live/stats/hikaru/chart?daysAgo=30&type=blitz
This one finds a chart of Hikaru's changes in blitz. You can change time control and days to pinpoint data.
https://www.chess.com/callback/member/stats/hikaru
General stats of Hikaru from the unofficial API of Chess.com. It gives an important missing data of latest tactics rating.
https://www.chess.com/callback/leagues/user-league/search/hikaru
League stats of Hikaru from the unofficial API of Chess.com