chess-puzzle-api
Random chess puzzles by rating and theme. No key required.
3,128,032puzzles
73tactical themes
CC0public domain data
Try it
curl "https://chess.mauriulloa.com/v1/puzzles/random?rating=1500&themes=fork"
You get the position, its rating and its themes — but not the answer.
Ask for that separately with
/v1/puzzles/{id}/solution.
For people
- Full API reference, rendered.
- Every puzzle carries an
analysisUrlthat opens the position on a real board. - Moves come in SAN (
Qxe6+) as well as UCI (d1e6).
For code
- OpenAPI 3.1 description, generated from the handlers.
- Open CORS, gzipped JSON, stable field names.
- 30 requests a minute anonymously; a key raises that.
For language models
- llms.txt — what this API is, in plain text.
https://chess.mauriulloa.com/mcp— an MCP server, so an agent can call it as a tool.?board=truedraws the position as text, so a model need not decode a FEN.