BYTETOOLS

Chess.com Published Data API

Free Chess.com published-data API with no key: player profiles, ratings, monthly game archives, clubs, tournaments and daily puzzles. Tested example.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 20 Aug 2026

What is the Chess.com Published Data API?

The Chess.com Published-Data API is a free, key-free API providing public player profiles, rating statistics, monthly game archives in PGN, club and tournament data, and the daily puzzle.

Chess.com is the largest chess platform, and its published-data API exposes everything public about a player: profile, current ratings across time controls, and complete game archives organised by month.

The monthly archive structure is deliberate and worth planning for. You first fetch a list of archive URLs — one per month the player was active — then fetch each. A player active for years means dozens of requests, so cache aggressively.

Quick facts

Base URL
https://api.chess.com/pub
Authentication
No API key required. Chess.com asks for a descriptive User-Agent with contact details.
Rate limit
No published hard limit, but parallel requests to the same endpoint are throttled — serialise them.
Pricing
Free.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the Chess.com Published Data API

Every request below was executed against the live API on 20 Aug 2026, and the response shown is the real body it returned — not an illustration.

1. Fetch a player profile

GET https://api.chess.com/pub/player/hikaru

curl
curl 'https://api.chess.com/pub/player/hikaru'
JavaScript (fetch)
const res = await fetch("https://api.chess.com/pub/player/hikaru");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://api.chess.com/pub/player/hikaru", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200
{
  "avatar": "https://images.chesscomfiles.com/uploads/v1/user/15448422.88c010c1.200x200o.3c5619f5441e.png",
  "player_id": 15448422,
  "@id": "https://api.chess.com/pub/player/hikaru",
  "url": "https://www.chess.com/member/Hikaru",
  "name": "Hikaru Nakamura",
  "username": "hikaru",
  "title": "GM",
  "followers": 1406493,
  "country": "https://api.chess.com/pub/country/US",
  "location": "Florida",
  "last_online": 1787160848,
  "joined": 1389043258,
  "status": "premium",
  "is_streamer": true,
  "twitch_url": "https://twitch.tv/gmhikaru",
  "verified": false,
  "league": "Legend",
  "streaming_platforms": [
    {
      "type": "twitch",
      "channel_url": "https://twitch.tv/gmhikaru"
    }
  ]
}

Parameters

ParameterTypeRequiredDescription
player/<username>pathOptionalPlayer profile. player/hikaru
player/<username>/statspathOptionalRatings and records per time control. stats
player/<username>/games/archivespathOptionalList of monthly archive URLs. games/archives
puzzlepathOptionalThe daily puzzle. puzzle

Response fields

player_id / usernameinteger|string
Player identifiers.
titlestring
Chess title such as GM or IM, when held.
followersinteger
Follower count.
countrystring
URL of the country resource — follow it for the name.
statusstring
Account status such as premium or basic.
last_online / joinedinteger
Unix timestamps.

What you can build with the Chess.com Published Data API

  • Track a player's rating progression over time
  • Download and analyse game archives
  • Build a club or tournament leaderboard
  • Embed the daily puzzle in a chess site

Common errors and how to fix them

Parallel requests throttled

Chess.com serialises concurrent requests to the same endpoint.

Fix: Make requests sequentially rather than in parallel, or you will be rate limited.

Country is a URL, not a name

Several fields are resource links.

Fix: Follow the URL to get the country name and code.

Enormous archive lists

One archive per active month.

Fix: Cache aggressively; historical months never change once complete.

Chess.com Published Data API — frequently asked questions

Is the Chess.com API free?

Yes, the published-data API is free with no key. Chess.com asks that you send a descriptive User-Agent with contact details.

How do I download someone's games?

Fetch /games/archives for a list of monthly archive URLs, then request each. A long-active player has many months, so cache — completed months never change.

Why do my parallel requests fail?

Chess.com serialises concurrent requests to the same endpoint and throttles the rest. Make requests sequentially.

How does it compare with the Lichess API?

Chess.com has far more players; Lichess is open source with a more generous API including an opening explorer. Both are free for public data.

Tools that pair with this API

Alternatives to Chess.com Published Data API

If Chess.com Published Data does not fit, these game & anime apis cover similar ground. Every one was called before publishing, and each links to its own reference page with a working curl command and the response it returned.

APIWhat it doesAuthCORSLast verified
PokéAPIFree Pokémon API with no key: stats, types, abilities, moves, evolutions and sprites for 1,000+ species. The most popular API for learning REST. Tested example.No keyYes19 Aug 2026
Rick and Morty APIFree Rick and Morty API with no key: 800+ characters, episodes and locations with images, filtering and pagination. REST and GraphQL. Tested example.No keyYes19 Aug 2026
Jikan (MyAnimeList)Free unofficial MyAnimeList API with no key: anime and manga data, scores, characters, staff and seasonal listings. Tested curl example and live JSON.No keyYes19 Aug 2026
Deck of CardsFree playing card API with no key: shuffle decks, draw cards, manage piles and get card images. Stateful deck ids. Tested curl example and live JSON.No keyYes19 Aug 2026
CrafatarFree Minecraft avatar API with no key. Render any player's face, 3D head, full body or raw skin and cape straight from a UUID, at any size, as a plain image URL.No keyYes21 Aug 2026
CS:GO / CS2 Items APIFree Counter-Strike 2 and CS:GO item API with no key: every skin, crate, sticker, agent, charm and collection with rarity colours, market hash names and Steam CDN images.No keyYes21 Aug 2026
All Game & Anime APIs

Chess.com Published Data is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 20 Aug 2026; always check the official documentation before relying on this API in production, as terms and limits can change.