Endpoint
Description
Download your puzzle activity in ndjson format. Each line represents a puzzle round, including the puzzle details and whether it was solved correctly. Puzzle activity is streamed as ndjson (newline-delimited JSON).Authentication
Required OAuth2 scopes:puzzle:readweb:mod(for mobile clients)
Query Parameters
Maximum number of puzzle rounds to return. Must be at least 1.If not specified, all puzzle activity will be streamed.
Return only puzzle activity before this timestamp (in milliseconds since epoch).Can be used for pagination by passing the timestamp of the oldest entry from a previous request.
Return only puzzle activity since this timestamp (in milliseconds since epoch).Useful for fetching only recent activity.
Response Format
The response is streamed as ndjson (newline-delimited JSON). Each line is a JSON object representing one puzzle round.Unix timestamp in milliseconds when the puzzle was attempted
Whether the puzzle was solved correctly on the first attempt
The puzzle information
Example Request
Example Response
Rate Limiting
This endpoint is subject to standard Lichess API rate limits:- Authenticated requests: More generous limits
- The stream is throttled to ~20 puzzle rounds per second
- Total concurrent connections are limited per IP and user
NDJSON Format
The response uses newline-delimited JSON (ndjson) format:- Each line is a complete JSON object
- Lines are separated by newline characters (
\n) - Process line-by-line for memory efficiency
- Stream can be consumed in real-time
Use Cases
- Analyze your puzzle solving performance over time
- Export puzzle activity for external analysis
- Track improvement in specific puzzle themes
- Build custom puzzle statistics dashboards
- Sync puzzle data with third-party training tools
Related Endpoints
- Get Daily Puzzle - Get the daily puzzle
- Get Puzzle Dashboard - Get aggregated puzzle statistics

