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 data | Start with | What comes back |
|---|---|---|
| Curated players | Player catalog | All players with archived games, portraits, approved biographies, and resource links. |
| Biographies and notable games | A player profile | Structured biography and sources; an ordered selection of notable games with editorial context. |
| Tournaments and matches | Event catalog | All events, series, dates, counts, and links to their games. |
| Annotated books | Book catalog | All books, source metadata, annotated games, PGN, and available book downloads. |
| Chess-history anniversaries | Chess Today | Today's facts or a specific month/day, with sources, archive links and historical photographs. |
| Shared archive games | Public game search | A page of games; canonical detail and PGN links preserve identity across collections. |
| Broader historical database | MasterDB search and statistics | Games and player statistics beyond the curated collections. |
| Opening statistics | Opening explorer | Replies 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.