Documentation Index Fetch the complete documentation index at: https://mintlify.com/lichess-org/lila/llms.txt
Use this file to discover all available pages before exploring further.
Endpoint
Standard Format
HTML Format
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 information where the puzzle originated The game ID from which this puzzle was extracted
The PGN (Portable Game Notation) of the game
Performance category information Performance type key (e.g., “blitz”, “rapid”)
Human-readable performance type name
Array of player objects for white and black
The puzzle data Unique puzzle identifier (5-character alphanumeric)
The puzzle difficulty rating (similar to Glicko rating)
Number of times this puzzle has been attempted by users
The ply (half-move) count at which the puzzle position starts
Array of UCI move strings representing the puzzle solution
Array of theme keys (e.g., “fork”, “pin”, “skewer”) describing the puzzle’s tactical motifs
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