Chess.com
Read-only access to Chess.com players, games and clubs
Chess.com's Published-Data API exposes public profiles, game archives, clubs, tournaments and leaderboards. Fetch a player by username to get their profile as JSON—no key, CORS enabled. The API prefers serial rather than parallel requests.
GET https://api.chess.com/pub/player/erik
{
"player_id": 41,
"username": "erik",
"name": "Erik",
"followers": 9944,
"country": "https://api.chess.com/pub/country/US",
"status": "staff",
"league": "Silver"
}curl "https://api.chess.com/pub/player/erik"const res = await fetch("https://api.chess.com/pub/player/erik");
const data = await res.json();
console.log(data);import requests
res = requests.get("https://api.chess.com/pub/player/erik")
print(res.json())/player/erikPROBEDRead-only access to Chess.com players, games and clubs
/playerPlayer — documented GET route.
/player/1Player details by ID (example: 1).
/player?limit=10Player — documented GET route.
/player/search?q=testSearch by query parameters.
/player/hikaruHikaru — documented GET route.
We probe a documented GET and expect 2xx JSON — full uptime and health score. Export includes every documented route below.
Stable. No schema drift observed since monitoring began — the response shape has not changed under our checks.
Chess.com: common questions
Is Chess.com free to use?
Yes — Chess.com is a free games API. Free tier: Free — no API key. Whether the free tier allows commercial use is unclear — check the provider docs.
Does Chess.com need an API key?
No — Chess.com needs no API key or signup. You can call it straight away; rate limits still apply (Serial requests expected; no fixed cap published).
Can I call Chess.com from the browser?
Yes — Chess.com returns CORS headers over HTTPS, so front-end code can fetch it directly with no backend proxy. Use the fetch snippet on this page, or hit "Run live" to try it now.
Is Chess.com up right now?
As of our last scheduled check, Chess.com is unmonitored. We re-probe it every sweep — the status badge and uptime chart above always show the latest.