Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/lichess-opening-explorer-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: 2.0.144
title: Lichess.org API reference Account Opening Explorer API
contact:
name: Lichess.org API
url: https://lichess.org/api
email: contact@lichess.org
x-logo:
url: https://lichess1.org/assets/logo/lichess-pad12.svg
license:
name: AGPL-3.0-or-later
url: https://www.gnu.org/licenses/agpl-3.0.txt
description: '# Introduction
Welcome to the reference for the Lichess API! Lichess is free/libre,
open-source chess server powered by volunteers and donations.
- Get help in the [Lichess Discord channel](https://discord.gg/lichess)
- API demo app with OAuth2 login and gameplay: [source](https://github.com/lichess-org/api-demo) / [demo](https://lichess-org.github.io/api-demo/)
- API UI app with OAuth2 login and endpoint forms: [source](https://github.com/lichess-org/api-ui) / [website](https://lichess.org/api/ui)
- [Contribute to this documentation on Github](https://github.com/lichess-org/api)
- Check out [Lichess widgets to embed in your website](https://lichess.org/developers)
- [Download all Lichess rated games](https://database.lichess.org/)
- [Download all Lichess puzzles with themes, ratings and votes](https://database.lichess.org/#puzzles)
- [Download all evaluated positions](https://database.lichess.org/#evals)
## Endpoint
All requests go to `https://lichess.org` (unless otherwise specified).
## Clients
- [Python general API](https://github.com/lichess-org/berserk)
- [MicroPython general API](https://github.com/mkomon/uberserk)
- [Python general API - async](https://pypi.org/project/async-lichess-sdk)
- [Python Lichess Bot](https://github.com/lichess-bot-devs/lichess-bot)
- [Python Board API for Certabo](https://github.com/haklein/certabo-lichess)
- [Java general API](https://github.com/tors42/chariot)
- [JavaScript & TypeScript general API](https://github.com/devjiwonchoi/equine)
- [LichessNET - C# API Wrapper](https://github.com/Rabergsel/LichessNET)
- [.NET general API](https://github.com/Dblike/LichessSharp)
## Rate limiting
All requests are rate limited using various strategies,
to ensure the API remains responsive for everyone.
Only make one request at a time.
If you receive an HTTP response with a [429 status](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#429),
you have exceded one of the rate limits.
In most cases, waiting one minute before retrying will be sufficient, but some limits may require longer.
Reduce your request frequency before retrying.
## Streaming with ND-JSON
Some API endpoints stream their responses as [Newline Delimited JSON a.k.a. **nd-json**](https://github.com/ndjson/ndjson-spec), with one JSON object per line.
Here''s a [JavaScript utility function](https://gist.github.com/ornicar/a097406810939cf7be1df8ea30e94f3e) to help reading NDJSON streamed responses.
## Authentication
### Which authentication method is right for me?
[Read about the Lichess API authentication methods and code examples](https://github.com/lichess-org/api/blob/master/example/README.md)
### Personal Access Token
Personal API access tokens allow you to quickly interact with Lichess API without going through an OAuth flow.
- [Generate a personal access token](https://lichess.org/account/oauth/token)
- `curl https://lichess.org/api/account -H "Authorization: Bearer {token}"`
- [NodeJS example](https://github.com/lichess-org/api/tree/master/example/oauth-personal-token)
### Token Security
- Keep your tokens secret. Do not share them in public repositories or public forums.
- Your tokens can be used to make your account perform arbitrary actions (within the limits of the tokens'' scope). You remain responsible for all activities on your account.
- Do not hardcode tokens in your application''s code. Use environment variables or a secure storage and ensure they are not shipped/exposed to users. Be especially careful that they are not included in frontend bundles or apps that are shipped to users.
- If you suspect a token has been compromised, revoke it immediately.
To see your active tokens or revoke them, see [your Personal API access tokens](https://lichess.org/account/oauth/token).
### Authorization Code Flow with PKCE
The authorization code flow with PKCE allows your users to **login with Lichess**.
Lichess supports unregistered and public clients (no client authentication, choose any unique client id).
The only accepted code challenge method is `S256`.
Access tokens are long-lived (expect one year), unless they are revoked.
Refresh tokens are not supported.
See the [documentation for the OAuth endpoints](#tag/OAuth) or
the [PKCE RFC](https://datatracker.ietf.org/doc/html/rfc7636#section-4) for a precise protocol description.
- [Demo app](https://lichess-org.github.io/api-demo/)
- [Minimal client-side example](https://github.com/lichess-org/api/tree/master/example/oauth-app)
- [Flask/Python example](https://github.com/lakinwecker/lichess-oauth-flask)
- [Java example](https://github.com/tors42/lichess-oauth-pkce-app)
- [NodeJS Passport strategy to login with Lichess OAuth2](https://www.npmjs.com/package/passport-lichess)
#### Real life examples
- [PyChess](https://github.com/gbtami/pychess-variants) ([source code](https://github.com/gbtami/pychess-variants))
- [Lichess4545](https://www.lichess4545.com/) ([source code](https://github.com/cyanfish/heltour))
- [English Chess Federation](https://ecf.octoknight.com/)
- [Rotherham Online Chess](https://rotherhamonlinechess.azurewebsites.net/tournaments)
### Token format
Access tokens and authorization codes match `^[A-Za-z0-9_]+$`.
The length of tokens can be increased without notice. Make sure your application can handle at least 512 characters.
By convention tokens have a recognizable prefix, but do not rely on this.
'
servers:
- url: https://lichess.org
- url: https://lichess.dev
- url: http://localhost:{port}
variables:
port:
default: '8080'
- url: http://l.org
tags:
- name: Opening Explorer
description: 'Lookup positions from the [Lichess opening explorer](https://lichess.org/analysis#explorer).
Runs <https://github.com/lichess-org/lila-openingexplorer>.
> [!important]
> The hostname for these endpoints is `explorer.lichess.org` and not `lichess.org`.
'
paths:
/masters:
get:
operationId: openingExplorerMaster
summary: Masters database
description: '**Endpoint: <https://explorer.lichess.org/masters>**
Example: `curl https://explorer.lichess.org/masters?play=d2d4,d7d5,c2c4,c7c6,c4d5`
'
tags:
- Opening Explorer
servers:
- url: https://explorer.lichess.org
- url: http://localhost:{port}
variables:
port:
default: '9002'
security:
- OAuth2: []
parameters:
- in: query
name: fen
description: X-FEN of the root position
schema:
type: string
example: rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1
- in: query
name: play
description: 'Comma separated sequence of legal moves in UCI notation.
Play additional moves starting from `fen`.
Required to find an opening name, if `fen` is not an exact match
for a named position.
'
schema:
type: string
default: ''
example: d2d4,d7d5,c2c4,c7c6,c4d5
- in: query
name: since
description: Include only games from this year or later
schema:
type: integer
default: 1952
- in: query
name: until
description: Include only games from this year or earlier
schema:
type: integer
- in: query
name: moves
description: Number of most common moves to display
schema:
type: integer
default: 12
- in: query
name: topGames
description: Number of top games to display
schema:
type: integer
default: 15
maximum: 15
responses:
'200':
description: Opening statistics and game references for the position.
headers:
Access-Control-Allow-Origin:
schema:
type: string
default: '''*'''
content:
application/json:
schema:
$ref: '#/components/schemas/OpeningExplorerMasters'
examples:
default:
$ref: '#/components/examples/openingExplorer-masters.json'
/lichess:
get:
operationId: openingExplorerLichess
summary: Lichess games
description: '**Endpoint: <https://explorer.lichess.org/lichess>**
Aggregated rated games from all Lichess players.
Example: `curl https://explorer.lichess.org/lichess?variant=standard&speeds=blitz,rapid,classical&ratings=2200,2500&fen=rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR%20w%20KQkq%20-%200%201`
'
tags:
- Opening Explorer
servers:
- url: https://explorer.lichess.org
- url: http://localhost:{port}
variables:
port:
default: '9002'
security:
- OAuth2: []
parameters:
- in: query
name: variant
description: Variant
schema:
$ref: '#/components/schemas/VariantKey'
default: standard
- in: query
name: fen
description: X-FEN or EPD of the root position
schema:
type: string
example: rnbqkbnr/ppp1pppp/8/3pP3/8/8/PPPP1PPP/RNBQKBNR b KQkq - 0 2
- in: query
name: play
description: 'Comma separated sequence of legal moves in UCI notation.
Play additional moves starting from `fen`.
Required to find an opening name, if `fen` is not an exact match
for a named position.
'
schema:
type: string
default: ''
example: d2d4,d7d5,c2c4,c7c6,c4d5
- in: query
name: speeds
description: Comma separated list of game speeds to filter by
schema:
type: array
items:
$ref: '#/components/schemas/Speed'
- in: query
name: ratings
description: 'Comma separated list of ratings groups to filter by.
Each group ranges from its value to the next higher
group in the enum (`0` from 0 to 999, `1000` from 1000 to 1199,
..., `2500` from 2500 to any rating above).
'
schema:
type: array
items:
type: integer
enum:
- 0
- 1000
- 1200
- 1400
- 1600
- 1800
- 2000
- 2200
- 2500
- in: query
name: since
description: Include only games from this month or later
schema:
type: string
default: 1952-01
- in: query
name: until
description: Include only games from this month or earlier
schema:
type: string
default: 3000-12
- in: query
name: moves
description: Number of most common moves to display
schema:
type: integer
default: 12
- in: query
name: topGames
description: 'Maximum number of top games to display.
Due to the way banned users are handled internally, the response may
contain fewer games than expected.
'
schema:
type: integer
default: 4
maximum: 4
- in: query
name: recentGames
description: 'Maximum number of recent games to display.
Due to the way banned users are handled internally, the response may
contain fewer games than expected.
'
schema:
type: integer
default: 4
maximum: 4
- in: query
name: history
description: Optionally retrieve history
schema:
type: boolean
default: false
responses:
'200':
description: Opening statistics and game references for the position.
headers:
Access-Control-Allow-Origin:
schema:
type: string
default: '''*'''
content:
application/json:
schema:
$ref: '#/components/schemas/OpeningExplorerLichess'
examples:
default:
$ref: '#/components/examples/openingExplorer-lichess.json'
/player:
get:
operationId: openingExplorerPlayer
summary: Player games
description: '**Endpoint: <https://explorer.lichess.org/player>**
Games of a Lichess player.
Responds with a stream of [newline delimited JSON](#description/streaming-with-nd-json). Will start indexing
on demand, immediately respond with the current results, and stream
more updates until indexing is complete. The stream is throttled
and deduplicated. Empty lines may be sent to avoid timeouts.
Will index new games at most once per minute, and revisit previously
ongoing games at most once every day.
Example: `curl https://explorer.lichess.org/player?player=revoof&color=white&play=d2d4,d7d5&recentGames=1`
'
tags:
- Opening Explorer
servers:
- url: https://explorer.lichess.org
- url: http://localhost:{port}
variables:
port:
default: '9002'
security:
- OAuth2: []
parameters:
- in: query
name: player
description: Username or ID of the player
schema:
type: string
example: revoof
required: true
- in: query
name: color
description: Look for games with *player* on the given side
schema:
type: string
enum:
- white
- black
example: white
required: true
- in: query
name: variant
description: Variant
schema:
$ref: '#/components/schemas/VariantKey'
default: standard
- in: query
name: fen
description: X-FEN of the root position
schema:
type: string
example: rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1
- in: query
name: play
description: 'Comma separated sequence of legal moves in UCI notation.
Play additional moves starting from `fen`.
Required to find an opening name, if `fen` is not an exact match
for a named position.
'
schema:
type: string
default: ''
example: d2d4,d7d5
- in: query
name: speeds
description: Comma separated list of game speeds to look for
schema:
type: array
items:
$ref: '#/components/schemas/Speed'
- in: query
name: modes
description: Comma separated list of modes
schema:
type: array
items:
type: string
enum:
- casual
- rated
- in: query
name: since
description: Include only games from this month or later
schema:
type: string
default: 1952-01
- in: query
name: until
description: Include only games from this month or earlier
schema:
type: string
default: 3000-12
- in: query
name: moves
description: Number of most common moves to display
schema:
type: integer
- in: query
name: recentGames
description: Number of recent games to display
schema:
type: integer
default: 8
maximum: 8
responses:
'200':
description: Opening statistics and game references for the position.
headers:
Access-Control-Allow-Origin:
schema:
type: string
default: '''*'''
content:
application/x-ndjson:
schema:
$ref: '#/components/schemas/OpeningExplorerPlayer'
examples:
default:
$ref: '#/components/examples/openingExplorer-player.json'
/masters/pgn/{gameId}:
get:
operationId: openingExplorerMasterGame
summary: OTB master game
description: '**Endpoint: `https://explorer.lichess.org/masters/pgn/{gameId}`**
Example: `curl https://explorer.lichess.org/masters/pgn/aAbqI4ey`
'
tags:
- Opening Explorer
servers:
- url: https://explorer.lichess.org
- url: http://localhost:{port}
variables:
port:
default: '9002'
security:
- OAuth2: []
parameters:
- in: path
name: gameId
schema:
type: string
required: true
responses:
'200':
description: The PGN representation of the game.
headers:
Access-Control-Allow-Origin:
schema:
type: string
default: '''*'''
content:
application/x-chess-pgn:
schema:
type: string
description: Game PGN
examples:
pgn:
$ref: '#/components/examples/openingExplorer-otbMasterGame.pgn'
components:
examples:
openingExplorer-lichess.json:
value:
white: 5061745
draws: 492487
black: 4458129
moves:
- uci: c6d5
san: cxd5
averageRating: 1806
white: 4517660
draws: 450366
black: 4016728
game: null
opening: null
- uci: d8d5
san: Qxd5
averageRating: 1662
white: 236785
draws: 17561
black: 170379
game: null
opening: null
- uci: g8f6
san: Nf6
averageRating: 1973
white: 195502
draws: 17425
black: 184987
game: null
opening:
eco: D06
name: 'Queen''s Gambit Declined: Marshall Defense, Tan Gambit'
- uci: e7e6
san: e6
averageRating: 1839
white: 40807
draws: 2695
black: 32332
game: null
opening: null
- uci: d8a5
san: Qa5+
averageRating: 1436
white: 19458
draws: 1221
black: 13712
game: null
opening: null
- uci: c8f5
san: Bf5
averageRating: 1705
white: 17503
draws: 1118
black: 15374
game: null
opening: null
- uci: c6c5
san: c5
averageRating: 1802
white: 11081
draws: 678
black: 6174
game: null
opening: null
- uci: g7g6
san: g6
averageRating: 1861
white: 3867
draws: 325
black: 3561
game: null
opening: null
- uci: c8g4
san: Bg4
averageRating: 1866
white: 3775
draws: 255
black: 3715
game: null
opening: null
- uci: e7e5
san: e5
averageRating: 1820
white: 2796
draws: 156
black: 2555
game: null
opening: null
- uci: a7a6
san: a6
averageRating: 1877
white: 2180
draws: 139
black: 1876
game: null
opening: null
- uci: b8d7
san: Nd7
averageRating: 1627
white: 2302
draws: 119
black: 1574
game: null
opening: null
recentGames:
- uci: c6d5
id: PFRcQXaV
winner: white
speed: bullet
mode: rated
black:
name: chaotic_logic
rating: 2611
white:
name: AritzMancha
rating: 2626
year: 2026
month: 2026-01
- uci: c6d5
id: 1Eu0KMO6
winner: white
speed: blitz
mode: rated
black:
name: Helmy-Saber2
rating: 2160
white:
name: denk_er
rating: 2222
year: 2026
month: 2026-01
- uci: c6d5
id: Oykwl4gi
winner: white
speed: blitz
mode: rated
black:
name: JonKi1002
rating: 1831
white:
name: KonstantinXCII
rating: 1940
year: 2026
month: 2026-01
- uci: c6d5
id: ayG0PtAu
winner: black
speed: bullet
mode: rated
black:
name: IlyaGaon
rating: 1364
white:
name: hitomii
rating: 1413
year: 2026
month: 2026-01
topGames:
- uci: g8f6
id: EqJcFS1j
winner: white
speed: ultraBullet
mode: rated
black:
name: toivok
rating: 2708
white:
name: penguingim1
rating: 2969
year: 2018
month: 2018-04
- uci: c6d5
id: Z8bSC15J
winner: black
speed: rapid
mode: rated
black:
name: ShadowsOfPain
rating: 2971
white:
name: rightup
rating: 2630
year: 2025
month: 2025-07
- uci: c6d5
id: IGCORYDn
winner: null
speed: rapid
mode: rated
black:
name: torombot
rating: 2987
white:
name: the_magnificent_bob
rating: 2981
year: 2024
month: 2024-03
opening:
eco: D10
name: 'Slav Defense: Exchange Variation'
openingExplorer-player.json:
value:
white: 366
draws: 23
black: 279
moves:
- uci: c2c4
san: c4
averageOpponentRating: 1695
performance: 1744
white: 361
draws: 23
black: 272
game: null
opening:
eco: D06
name: Queen's Gambit
- uci: c2c3
san: c3
averageOpponentRating: 1797
performance: 1797
white: 2
draws: 0
black: 2
game: null
opening: null
- uci: e2e4
san: e4
averageOpponentRating: 1762
performance: 1640
white: 1
draws: 0
black: 2
game: null
opening:
eco: D00
name: Blackmar-Diemer Gambit
- uci: g1f3
san: Nf3
averageOpponentRating: 1497
performance: 1374
white: 1
draws: 0
black: 2
game: null
opening:
eco: D02
name: 'Queen''s Pawn Game: Zukertort Variation'
- uci: h2h4
san: h4
averageOpponentRating: 1674
performance: 874
white: 0
draws: 0
black: 1
game:
id: 9vA24xBn
winner: black
speed: bullet
mode: rated
black:
name: MentalBlood
rating: 1674
white:
name: revoof
rating: 1657
year: 2020
month: 2020-06
opening: null
- uci: h2h3
san: h3
averageOpponentRating: 1696
performance: 2496
white: 1
draws: 0
black: 0
game:
id: zyI4GGKv
winner: white
speed: bullet
mode: rated
black:
name: gocool99
rating: 1696
white:
name: revoof
rating: 1702
year: 2020
month: 2020-07
opening: null
recentGames:
- uci: c2c4
id: ycZbWQZO
winner: white
speed: bullet
mode: rated
black:
name: Winavesh
rating: 1700
white:
name: revoof
rating: 1700
year: 2024
month: 2024-11
opening:
eco: D00
name: Queen's Pawn Game
queuePosition: 178
openingExplorer-otbMasterGame.pgn:
value: '[Event "Wch Blitz"]
[Site "Astana"]
[Date "2012.07.10"]
[Round "23"]
[White "Carlsen, Magnus"]
[Black "Chadaev, Nikolay"]
[Result "1-0"]
[WhiteElo "2837"]
[BlackElo "2580"]
1. e4 e5 2. f4 d5 3. exd5 exf4 4. Nf3 Nf6 5. c4 c6 6. d4 cxd5 7. c5 Nc6 8. Bb5 Be7 9. O-O O-O 10. Bxf4 Bg4 11. Nc3 Ne4 12. Qd3 Bf5 13. Qe3 Bf6 14. Bxc6 bxc6 15. Ne5 Bxe5 16. Bxe5 Bg6 17. Nxe4 Bxe4 18. Qg3 f6 19. Bd6 Re8 20. b4 Bg6 21. a4 a6 22. h4 Qd7 23. h5 Bxh5 24. Rxf6 Qg4 25. Qxg4 Bxg4 26. Rf4 Bh5 27. Raf1 h6 28. Be5 Ra7 29. b5 axb5 30. axb5 cxb5 31. c6 Raa8 32. c7 Kh7 33. Rb1 Be2 34. Rf7 Rg8 35. Re7 Bc4 36. Kh2 Rae8 37. Rd7 Ra8 38. Rb2 Raf8 39. g4 Ra8 40. Rf2 b4 41. Rff7 h5 42. Rxg7+ Rxg7 43. Rxg7+ 1-0
'
openingExplorer-masters.json:
value:
white: 1927
draws: 5215
black: 1469
moves:
- uci: c6d5
san: cxd5
averageRating: 2412
white: 1927
draws: 5215
black: 1468
game: null
opening: null
- uci: g8f6
san: Nf6
averageRating: 2515
white: 0
draws: 0
black: 1
game:
id: 1EErB5jc
winner: black
black:
name: Dobrov, Vladimir
rating: 2515
white:
name: Drozdovskij, Yuri
rating: 2509
year: 2006
month: 2006-01
opening:
eco: D06
name: 'Queen''s Gambit Declined: Marshall Defense, Tan Gambit'
topGames:
- uci: c6d5
id: kN6d9l2i
winner: black
black:
name: Anand, V.
rating: 2785
white:
name: Carlsen, M.
rating: 2881
year: 2014
month: 2014-06
- uci: c6d5
id: qeYPJL2y
winner: white
black:
name: Carlsen, M.
rating: 2843
white:
name: So, W.
rating: 2778
year: 2018
month: 2018-06
- uci: c6d5
id: VpWYyv3g
winner: null
black:
name: Carlsen, M..
rating: 2847
white:
name: So, W..
rating: 2770
year: 2021
month: 2021-03
- uci: c6d5
id: nlh6QPSg
winner: white
black:
name: Vachier Lagrave, Maxime
rating: 2778
white:
name: Caruana, Fabiano
rating: 2835
year: 2020
month: 2020-06
- uci: c6d5
id: IYy7abvG
winner: black
black:
name: Caruana, Fabiano
rating: 2835
white:
name: So, Wesley
rating: 2770
year: 2020
month: 2020-06
- uci: c6d5
id: sKEBcLbM
winner: null
black:
name: Carlsen, M.
rating: 2832
white:
name: Grischuk, A.
rating: 2761
year: 2017
month: 2017-06
- uci: c6d5
id: ambcPQzJ
winner: white
black:
name: Nakamura, Hikaru
rating: 2775
white:
name: Aronian, Levon
rating: 2813
year: 2013
month: 2013-05
- uci: c6d5
id: 7x23lu2J
winner: black
black:
name: Karjakin, Sergey
rating: 2771
white:
name: Aronian, L.
rating: 2815
year: 2014
month: 2014-06
- uci: c6d5
id: FLar3fv2
winner: white
black:
name: Duda, Jan Krzysztof
rating: 2757
white:
name: Caruana, Fabiano
rating: 2828
year: 2020
month: 2020-10
- uci: c6d5
id: mOtWn31m
winner: black
black:
name: Nakamura, Hi
rating: 2804
white:
name: Caruana, F.
rating: 2776
year: 2025
month: 2025-05
- uci: c6d5
id: 2O6imBL4
winner: black
black:
name: Aronian, L.
rating: 2764
white:
name: Mamedyarov, S.
rating: 2808
year: 2018
month: 2018-06
- uci: c6d5
id: 4DG6brd6
winner: null
black:
name: Caruana, Fabiano
rating: 2835
white:
name: Nakamura, Hikaru
rating: 2736
year: 2020
month: 2020-05
- uci: c6d5
id: LNwpnUi7
winner: null
black:
name: Vachier Lagrave, M.
rating: 2779
white:
name: Nakamura, Hi
rating: 2777
year: 2018
month: 2018-10
- uci: c6d5
id: f7QMeZlL
winner: black
black:
name: Carlsen, M.
rating: 2840
white:
name: Vallejo Pons, F.
rating: 2711
year: 2016
month: 2016-12
- uci: c6d5
id: vZzIG6Vo
winner: white
black:
name: Nakamura, Hikaru
rating: 2774
white:
name: Ivanchuk, Vassily
rating: 2776
year: 2011
month: 2011-06
opening:
eco: D10
name: 'Slav Defense: Exchange Variation'
schemas:
OpeningExplorerGamePlayer:
type: object
properties:
name:
type: string
rating:
type: integer
required:
- name
- rating
OpeningExplorerLichess:
type: object
properties:
opening:
oneOf:
- $ref: '#/components/schemas/OpeningExplorerOpening'
- type: 'null'
white:
type: integer
draws:
type: integer
black:
type: integer
moves:
type: array
items:
type: object
properties:
uci:
type: string
san:
type: string
averageRating:
type: integer
white:
type: integer
draws:
type: integer
black:
type: integer
game:
oneOf:
- $ref: '#/components/schemas/OpeningExplorerLichessGame'
- type: 'null'
opening:
oneOf:
- $ref: '#/components/schemas/OpeningExplorerOpening'
- type: 'null'
required:
- uci
- san
- averageRating
- white
- draws
- black
- game
- opening
topGames:
type: array
items:
allOf:
- type: object
properties:
uci:
type: string
required:
- uci
- $ref: '#/components/schemas/OpeningExplorerLichessGame'
recentGames:
type: array
items:
allOf:
- type: object
properties:
uci:
type: string
required:
- uci
- $ref: '#/components/schemas/Op
# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/lichess/refs/heads/main/openapi/lichess-opening-explorer-api-openapi.yml