Skip to main content

Endpoint

GET https://lichess.org/api/puzzle/daily

Description

Fetch the daily puzzle. The endpoint returns a new puzzle each day at midnight UTC. The daily puzzle is a carefully selected tactical puzzle that changes once per day and is the same for all users.

Authentication

No authentication required. This endpoint is publicly accessible.

Response

game
object
required
Game information where the puzzle originated
puzzle
object
required
The puzzle data

Example Request

curl https://lichess.org/api/puzzle/daily

Example Response

{
  "game": {
    "id": "yH1M0p8x",
    "perf": {
      "key": "rapid",
      "name": "Rapid"
    },
    "pgn": "e4 e5 Nf3 Nc6 Bb5 a6 Ba4 Nf6 O-O Be7...",
    "players": [
      {
        "color": "white",
        "name": "PlayerOne",
        "userId": "playerone"
      },
      {
        "color": "black",
        "name": "PlayerTwo",
        "userId": "playertwo"
      }
    ]
  },
  "puzzle": {
    "id": "a1b2c",
    "rating": 1847,
    "plays": 12453,
    "initialPly": 42,
    "solution": ["e4e5", "f6e4", "d1h5"],
    "themes": ["middlegame", "fork", "short"]
  }
}

Notes

  • The daily puzzle changes at midnight UTC
  • The puzzle is the same for all users on a given day
  • No authentication required
  • Rate limiting applies as per standard API limits
  • The HTML endpoint /training/daily provides a user-friendly web interface

Build docs developers (and LLMs) love