Is there an online chess evaluation engine with a REST API? I'd like to be able to send a game or position (with castling ability presumably) to a simple REST API and get back the positional evaluation from a reasonably strong engine.
1 Answer
The project https://github.com/noobpwnftw/chessdb provides an API for getting engine evaluations including also the PV, with the FEN of a position as input.
E.g., try an example from the readme:
The response I got is:
{
"status": "ok",
"score": 8,
"depth": 39,
"pv": [
"e2e4", "c7c5", "d2d4", "c5d4", "g1f3", "e7e5", "c2c3", "b8c6", "f1c4", "g8f6", "f3g5", "d7d5", "e4d5", "c6a5", "c4b5", "c8d7", "d1e2", "f8d6", "b2b4", "h7h6", "g5f3", "e8g8", "b4a5", "d4d3", "e2b2", "f6d5", "b1d2", "d7b5", "b2b5", "d5c3", "b5d3", "d6b4", "d3d8", "f8d8", "a5a6", "b7a6", "a2a3", "b4a5", "e1f1"
],
"pvSAN": [
"e4", "c5", "d4", "cxd4", "Nf3", "e5", "c3", "Nc6", "Bc4", "Nf6", "Ng5", "d5", "exd5", "Na5", "Bb5+", "Bd7", "Qe2", "Bd6", "b4", "h6", "Nf3", "O-O", "bxa5", "d3", "Qb2", "Nxd5", "Nbd2", "Bxb5", "Qxb5", "Nxc3", "Qxd3", "Bb4", "Qxd8", "Rfxd8", "a6", "bxa6", "a3", "Ba5", "Kf1"
]
}
-
1It is essentially functioning as an opening book api and not able to evaluate unknown positions on-the-fly. e.g. chessdb.cn/cdb.php?action=querypv&board=8/7K/P2P4/1b1k3p/…– prusswanJul 6, 2019 at 17:44
-
That's what I infer too. Funny comment at bottom "Expect no further documentation except this one but the code should be self-explanatory", even though there isn't a single line explaining what it is :) Oct 22, 2021 at 2:32
-
Interesting find. I awarded the bounty although this question remains open. I'm rather surprised that in 2021 the world doesn't have a chess position evaluation API ! Oct 25, 2021 at 13:06
-
It appears to be giving perfectly legitimate results. I ran queries from this FEN:
r1bqkb1r/ppp2ppp/5n2/n2Pp1N1/2B5/8/PPPP1PPP/RNBQK2R w KQkq - 1 6
and it gave the expected results. Aug 27, 2022 at 5:38