Chess.com · Schema
Chess.com Game
Single chess game record as returned by monthly archive endpoints.
ChessGamingOnline GamesSportsCommunityEducation
Properties
| Name | Type | Description |
|---|---|---|
| url | string | |
| pgn | string | PGN-formatted game including headers. |
| time_control | string | |
| end_time | integer | Unix timestamp when the game ended. |
| rated | boolean | |
| tcn | string | Chess.com compressed move encoding. |
| uuid | string | |
| initial_setup | string | FEN of starting position. |
| fen | string | FEN of final position. |
| time_class | string | |
| rules | string | |
| white | object | |
| black | object | |
| eco | string | |
| tournament | string | |
| match | string |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/chess-com/main/json-schema/chess-com-game-schema.json",
"title": "Chess.com Game",
"description": "Single chess game record as returned by monthly archive endpoints.",
"type": "object",
"required": ["url", "pgn", "time_class", "rules", "white", "black"],
"properties": {
"url": { "type": "string", "format": "uri" },
"pgn": { "type": "string", "description": "PGN-formatted game including headers." },
"time_control": { "type": "string" },
"end_time": { "type": "integer", "description": "Unix timestamp when the game ended." },
"rated": { "type": "boolean" },
"tcn": { "type": "string", "description": "Chess.com compressed move encoding." },
"uuid": { "type": "string", "format": "uuid" },
"initial_setup": { "type": "string", "description": "FEN of starting position." },
"fen": { "type": "string", "description": "FEN of final position." },
"time_class": {
"type": "string",
"enum": ["daily", "rapid", "blitz", "bullet"]
},
"rules": {
"type": "string",
"enum": ["chess", "chess960", "bughouse", "kingofthehill", "threecheck", "crazyhouse"]
},
"white": { "$ref": "#/$defs/GamePlayer" },
"black": { "$ref": "#/$defs/GamePlayer" },
"eco": { "type": "string", "format": "uri" },
"tournament": { "type": "string", "format": "uri" },
"match": { "type": "string", "format": "uri" }
},
"$defs": {
"GamePlayer": {
"type": "object",
"required": ["rating", "result", "@id", "username"],
"properties": {
"rating": { "type": "integer" },
"result": {
"type": "string",
"enum": [
"win",
"checkmated",
"agreed",
"repetition",
"timeout",
"resigned",
"stalemate",
"lose",
"insufficient",
"50move",
"abandoned",
"kingofthehill",
"threecheck",
"bughousepartnerlose"
]
},
"@id": { "type": "string", "format": "uri" },
"username": { "type": "string" },
"uuid": { "type": "string", "format": "uuid" }
}
}
}
}