Many chess engines support UCI (Universal Chess Interface). This library is designed for use with Stockfish, but should work with other UCI engines.
{
"BestMove": "c8d7",
"Results": [
{
"Time": 136,
"Depth": 10,
"SelDepth": 16,
"Nodes": 183853,
"NodesPerSecond": 1351860,
"MultiPV": 1,
"Lowerbound": false,
"Upperbound": false,
"Score": 20,
"Mate": false,
"BestMoves": [
"c8d7",
"b5d6",
"c7d6",
"f3g5",
"b8c6",
"g5e4",
"f5e4",
"a1d1",
"h7h6",
"f2f4",
"a8f8"
]
},
{
"Time": 136,
"Depth": 10,
"SelDepth": 16,
"Nodes": 183853,
"NodesPerSecond": 1351860,
"MultiPV": 2,
"Lowerbound": false,
"Upperbound": false,
"Score": 2,
"Mate": false,
"BestMoves": [
"a7a5",
"b5d6",
"c7d6",
"b4b5",
"b8d7",
"f3d2",
"e4d2",
"e3d2",
"b7b6",
"a3a4"
]
},
{
"Time": 136,
"Depth": 10,
"SelDepth": 16,
"Nodes": 183853,
"NodesPerSecond": 1351860,
"MultiPV": 3,
"Lowerbound": false,
"Upperbound": false,
"Score": -4,
"Mate": false,
"BestMoves": [
"b8c6",
"c2c4",
"a7a6",
"b5d6",
"c7d6",
"f3g5",
"c8d7",
"c4c5",
"d6d5",
"g5e4",
"f5e4"
]
},
{
"Time": 136,
"Depth": 10,
"SelDepth": 16,
"Nodes": 183853,
"NodesPerSecond": 1351860,
"MultiPV": 4,
"Lowerbound": false,
"Upperbound": false,
"Score": -18,
"Mate": false,
"BestMoves": [
"e7f7",
"h2h4",
"a7a5",
"b5d6",
"c7d6",
"b4a5",
"b8d7",
"f3g5",
"e4g5",
"h4g5",
"a8a5",
"e3d2"
]
}
]
}