/v1/search
Search & filter openings
Try it live
10 free calls per day — no sign-up, no API key. Goes through the oanor gateway.
It works. Grab an API key and use it in your project.
Get an API keyCode snippets
curl "https://api.oanor.com/chessopenings-api/v1/search" \ -H "x-oanor-key: oanor_test_..."
await fetch("https://api.oanor.com/chessopenings-api/v1/search", {
headers: { "x-oanor-key": "oanor_test_..." }
});
$ch = curl_init("https://api.oanor.com/chessopenings-api/v1/search");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$out = curl_exec($ch);
import requests
requests.get(
"https://api.oanor.com/chessopenings-api/v1/search",
headers={"x-oanor-key": "oanor_test_..."}
)
Example response
A real response from this endpoint, captured by the latest health check.
{
"data": {
"count": 20,
"limit": 20,
"total": 344,
"offset": 0,
"filters": {
"q": "sicilian",
"eco": null,
"volume": null
},
"results": [
{
"eco": "B20",
"pgn": "1. e4 c5",
"ply": 2,
"name": "Sicilian Defense",
"moves": [
"e4",
"c5"
],
"family": "Sicilian Defense",
"volume": "B",
"variation": null
},
{
"eco": "B20",
"pgn": "1. e4 c5 2. Qg4",
"ply": 3,
"name": "Sicilian Defense: Amazon Attack",
"moves": [
"e4",
"c5",
"Qg4"
],
"family": "Sicilian Defense",
"volume": "B",
"variation": "Amazon Attack"
},
{
"eco": "B20",
"pgn": "1. e4 c5 2. Bc4",
"ply": 3,
"name": "Sicilian Defense: Bowdler Attack",
"moves": [
"e4",
"c5",
"Bc4"
],
"family": "Sicilian Defense",
"volume": "B",
"variation": "Bowdler Attack"
},
{
"eco": "B20",
"pgn": "1. e4 c5 2. Nh3",
"ply": 3,
"name": "Sicilian Defense: Brick Variation",
"moves": [
"e4",
"c5",
"Nh3"
],
"family": "Sicilian Defense",
"volume": "B",
"variation": "Brick Variation"
},
{
"eco": "B20",
"pgn": "1. e4 c5 2. b3",
"ply": 3,
"name": "Sicilian Defense: Czerniak Attack",
"moves": [
"e4",
"c5",
"b3"
],
"family": "Sicilian Defense",
"volume": "B",
"variation": "Czerniak Attack"
},
{
"eco": "B20",
"pgn": "1. e4 c5 2. g4",
"ply": 3,
"name": "Sicilian Defense: Grob Variation",
"moves": [
"e4",
"c5",
"g4"
],
"family": "Sicilian Defense",
"volume": "B",
"variation": "Grob Variation"
},
{
"eco": "B20",
"pgn": "1. e4 c5 2. Ne2",
"ply": 3,
"name": "Sicilian Defense: Keres Variation",
"moves": [
"e4",
…