Classic Chess · REST API

Your first request

Use a maintained client for Python, TypeScript or Kotlin. They handle pagination and bounded downloads. Each public repository includes MIT-licensed source and installation instructions.

These commands need only curl. They return complete lists of names, one per line, with no API key, JSON parser, or pagination to configure.

List all curated players · plain text

curl -fsS "https://classicchess.com/api/v1/public/players/?format=txt"

List all tournaments and matches · plain text

curl -fsS "https://classicchess.com/api/v1/public/events/?format=txt"

List all annotated books · plain text

curl -fsS "https://classicchess.com/api/v1/annotated/books/?format=txt"

Remove ?format=txt for the complete JSON catalog: stable slugs, game counts, metadata, and links to the next resource. Add ?q=tal to filter the player catalog.

Available dataStart withWhat comes back
Curated playersPlayer catalogAll players with archived games, portraits, approved biographies, and resource links.
Biographies and notable gamesA player profileStructured biography and sources; an ordered selection of notable games with editorial context.
Tournaments and matchesEvent catalogAll events, series, dates, counts, and links to their games.
Annotated booksBook catalogAll books, source metadata, annotated games, PGN, and available book downloads.
Chess-history anniversariesChess TodayToday's facts or a specific month/day, with sources, archive links and historical photographs.
Shared archive gamesPublic game searchA page of games; canonical detail and PGN links preserve identity across collections.
Broader historical databaseMasterDB search and statisticsGames and player statistics beyond the curated collections.
Opening statisticsOpening explorerReplies and sample games for a position or sequence of moves.

Explore Tal · JSON profiles, biography, and notable games

# One player profile, including approved bio, portrait, and resource links
curl -fsS "https://classicchess.com/api/v1/public/players/mikhail-tal/"

# Just the biography and its sources
curl -fsS "https://classicchess.com/api/v1/public/players/mikhail-tal/bio/"

# All notable games, in curated order, with detail and PGN links
curl -fsS "https://classicchess.com/api/v1/public/players/mikhail-tal/notable-games/"

Download up to 300 of Tal's games · creates tal-archive.pgn

curl -fsS -G "https://classicchess.com/api/v1/public/games/export/" --data-urlencode "archive_player=mikhail-tal" -o tal-archive.pgn

Search exports stop at 300 games. For a complete larger archive, follow every page of game results and fetch their PGN links, or export batches of up to 300 returned tokens. See the pagination example.

For another player, use the exact slug from the catalog. For an event's games, use archive_event and an event slug. The curated archive is a selection: read each player's criteria instead of assuming their game count covers their entire career.

This page is the browser documentation. curl https://classicchess.com and curl https://classicchess.com/api/ show terminal help. /api/v1/ returns a JSON discovery index; /api/openapi.yaml is the machine-readable specification.