Export PlayHex games data

All PlayHex games since the beginning, 1v1 and bots games.

playhex-games-2026-06-04.json.gz

Size: 39.2 MiB
Unzipped: 261.1 MiB
Number of games: 436042
Generated at: 2026-06-04T07:53:33.148Z

This is a json file structured like this:

[
    {
        "id": "ed6c004f-0307-4677-afc4-d9a93dd0106e",
        "url": "https://playhex.org/games/ed6c004f-0307-4677-afc4-d9a93dd0106e",
        "boardsize": 17,
        "movesCount": 119,

        // Moves can be "a1", "swap-pieces", "pass"
        "moves": "a10 swap-pieces n4 k2 d5 d4 e4 d14 n13 n14 m14 ...",

        // Time control, here is an example for Capped Fischer 10min + 5s increment, capped at 10min.
        // For byo yomi 10min + 5 x 5s, it would be: "family": "byoyomi", "options": { "initialTime": 600000, "periodsCount": 5, "periodTime": 5000 }
        "timeControl": {
            "family": "fischer",
            "options": {
                "initialTime": 300000,
                "timeIncrement": 2000,
                "maxTime": 300000
            }
        },

        // Nicknames of players
        "playerRed": "yqxud",
        "playerBlue": "sya11",

        // Whether players are "player" or "bot"
        "playerRedType": "player",
        "playerBlueType": "player",

        // Ratings of players at the time the game were played. Glicko2
        // Ratings are initialized with 1500, deviation 350 and volatility 0.06.
        // Only for rated games: for friendly games, this info is not present
        "playerRedRating": 1717.14,
        "playerBlueRating": 1993.47,

        // Ratings deviation of players at the time the game were played. Glicko2
        // Lower value (<100) means confident value, higher one means not sure (> 200).
        // Only for rated games: for friendly games, this info is not present
        "playerRedRatingDeviation": 63.9047,
        "playerBlueRatingDeviation": 64.8934,

        // "red" or "blue"
        "winner": "red",

        // How the game ended:
        // - "time": loser player ran out of time
        // - "resign": loser player resigned
        // - "path": winner player won by connecting his sides
        // - "forfeit": loser may have not been here in time and has been forfeited manually, e.g in a tournament
        "outcome": "path",

        // whether swap has been allowed
        "allowSwap": true,

        // whether it is a "ranked" game (true), or friendly (false)
        "rated": true,

        // guessed handicap from moves and game settings.
        // See https://www.hexwiki.net/index.php/Handicap
        // 0: no handicap
        // 1.5: for red
        // -2: 2 for blue
        // "N/S" no swap because swap disabled.
        "handicap": 0,

        // when game started and ended
        "startedAt": "2025-12-27T19:12:10.070Z",
        "endedAt": "2025-12-27T19:26:04.251Z"
    },
    ...
]