Lichess website screenshot

Lichess

Lichess is a free, ad-free, open-source online chess server operated by a French nonprofit and powered entirely by volunteers and donations. It serves millions of games per day with live play, tournaments, puzzles, studies, broadcasts, analysis, and a public API. The server (lila), engine library (scalachess), mobile app, board UI (chessground), and distributed Stockfish analysis network (fishnet) are all open source under AGPL-3.0, MIT, and GPL-3.0 licenses. The Lichess API provides 185 documented operations across 23 functional areas including Account, Users, Games, Puzzles, Teams, Board, Bot, Challenges, Arena and Swiss Tournaments, Simuls, Studies, Broadcasts, Messaging, OAuth, FIDE, Opening Explorer, Tablebase, External Engine, and Cloud Analysis, with comprehensive ND-JSON streaming support.

Lichess publishes 23 APIs on the APIs.io network, including Account API, Analysis API, Board API, and 20 more. Tagged areas include Chess, Games, Open Source, Nonprofit, and Tournaments.

The Lichess catalog on APIs.io includes 1 event-driven AsyncAPI specification, 1 JSON-LD context, and 3 Spectral governance rulesets.

Lichess’ developer surface includes authentication, developer portal, documentation, sandbox, tooling, code examples, engineering blog, and 42 more developer resources.

60.9/100 strong ▬ flat Agent 50/100 agent ready Full breakdown ↓
scored 2026-07-28 · rubric v0.6
AccessFreemiumSelf serve⚡ Free to try
23 APIs 26 Features
ChessGamesOpen SourceNonprofitTournamentsPuzzlesBotsStreamingND-JSONOAuth

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-07-28 · rubric v0.6
Composite quality — 60.9/100 · strong
Contract Quality 21.2 / 25
Developer Ergonomics 11.3 / 20
Commercial Clarity 8.4 / 20
Operational Transparency 6.8 / 13
Governance 5.7 / 12
Discoverability 7.4 / 10
Agent readiness — 50/100 · agent ready
Machine-Readable Contract 18 / 18
Agentic Access Contract 10 / 10
MCP Server 0 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 8 / 8
Request/Response Examples 7 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 6 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
A2A Agent Card 0 / 8
Dry-Run / Simulate Mode 0 / 4
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/lichess: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 23

Individual APIs this provider publishes, each with its own machine-readable definition.

Lichess Account API

Read and write account information and preferences.

Lichess Analysis API

Access Lichess cloud evaluations database.

Lichess Board API

Play on Lichess with physical boards and third-party clients. Works with normal Lichess accounts. Engine play or assistance is [forbidden](https://lichess.org/page/fair-play). #...

Lichess Bot API

Play on Lichess as a bot. Allows engine play. Read the [blog post announcement of lichess bots](https://lichess.org/blog/WvDNticAAMu_mHKP/welcome-lichess-bots). Only works with ...

Lichess Broadcasts API

Relay chess events on Lichess. [Official broadcasts](https://lichess.org/broadcast) are maintained by Lichess, but you can [create your own broadcasts](https://lichess.org/broad...

Lichess Bulk pairings API

Create many games for other players. These endpoints are intended for tournament organisers.

Lichess Challenges API

Send and receive challenges to play. To create a lot of challenges, consider [bulk pairing](#tag/bulk-pairings/POST/api/bulk-pairing) instead.

Lichess External engine API

**This API is in alpha and subject to change.** Use or provide external engine analysis. External engines can provide analysis on pages like the [analysis board](https://lichess...

Lichess FIDE API

FIDE players and federations from [their public download](https://ratings.fide.com/download_lists.phtml).

Lichess Games API

Access games played on Lichess.

Lichess Messaging API

Private messages with other players.

Lichess OAuth API

Obtaining and revoking OAuth tokens. [Read about the Lichess API authentication methods and code examples](https://github.com/lichess-org/api/blob/master/example/README.md).

Lichess Opening Explorer API

Lookup positions from the [Lichess opening explorer](https://lichess.org/analysis#explorer). Runs . > [!important] > The hos...

Lichess Puzzles API

Fetch and solve [puzzles](https://lichess.org/training), view your puzzle history and dashboard. Our collection of puzzles is in the public domain, you can [download it here](ht...

Lichess Relations API

Access relations between users.

Lichess Simuls API

Access simuls played on Lichess.

Lichess Studies API

Access Lichess studies.

Lichess Tablebase API

Lookup positions from the [Lichess tablebase server](https://lichess.org/blog/W3WeMyQAACQAdfAL/7-piece-syzygy-tablebases-are-complete). > [!important] > The hostname for these e...

Lichess Teams API

Access and manage Lichess teams and their members.

Lichess Tournaments (Arena) API

Access Arena tournaments played on Lichess. [Official Arena tournaments](https://lichess.org/tournament) are maintained by Lichess, but you can [create your own Arena tournament...

Lichess Tournaments (Swiss) API

Access Swiss tournaments played on Lichess. [Read more about Swiss tournaments.](https://lichess.org/swiss).

Lichess TV API

Access Lichess TV channels and games. &

Lichess Users API

Access registered users on Lichess. - Each user blog exposes an atom (RSS) feed, like - User blogs mashup...

Scroll for all 23

Postman Collections 23

Ready-to-run Postman collections for exercising this provider's APIs.

Scroll for all 23

Open Collections 1

Open, tool-agnostic API collections (OpenAPI-derived and Bruno).

Lichess.org API reference

OPEN COLLECTION

Pricing Plans 1

Published pricing tiers and plan structures.

Lichess Plans Pricing

2 plans

PLANS

Rate Limits 1

Documented rate limits and quota policies.

Lichess Rate Limits

16 limits

RATE LIMITS

Features 26

Notable capabilities this provider offers.

Free, ad-free, open-source online chess server operated by a French nonprofit, funded by donations
Full OpenAPI 3.1 specification with 185 operations across 23 tags published at github.com/lichess-org/api
Account, users, relations, and messaging endpoints for managing players and social graph
Games REST and ND-JSON streaming endpoints for current and historical games, including PGN export
TV channels and current best games for live broadcast and embedding
Daily puzzle, puzzle by ID, puzzle activity, and puzzle dashboard endpoints
Teams API for creating, joining, listing, and managing chess teams
Board API for playing real-time games with physical boards and third-party clients using regular accounts
Bot API for programmatic play by accounts upgraded to bot status, with streaming game state
Challenges API for issuing, accepting, declining, and listing challenges including AI and open challenges
Bulk pairings for programmatically creating many games at once
Arena and Swiss tournament APIs including create, update, terminate, join, withdraw, and result export
Simuls endpoint for current and upcoming simultaneous exhibitions
Studies API for exporting and importing study chapters in PGN
Broadcasts API for creating tournaments, rounds, and pushing PGN updates for live event coverage
FIDE endpoints exposing FIDE player and federation data
Opening Explorer with Masters database, Lichess database, and player database lookups
Tablebase endpoint for 7-piece Syzygy endgame results
External Engine API enabling user-hosted engines to power analysis on lichess.org/analysis
Cloud evaluation lookup for previously evaluated positions
OAuth 2.0 Authorization Code Flow with PKCE plus personal access tokens, long-lived (one year typical)
Newline-delimited JSON (ND-JSON) streaming for events, games, and TV feeds
Distributed Stockfish analysis network (fishnet) and open client-side Stockfish WASM builds
Public dataset exports of all rated games, puzzles, and computer evaluations at database.lichess.org
Official community SDKs in Python (berserk), Java (chariot), JavaScript/TypeScript (equine), .NET, and more
AGPL-3.0 licensed server (lila), with MIT scalachess engine library and GPL-3.0 mobile and tooling code

Scroll for all 26

Event Specifications 1

AsyncAPI definitions for this provider's event-driven and streaming APIs.

Lichess Streaming API

AsyncAPI description of Lichess's streaming surface. Lichess does NOT expose its public real-time API over WebSocket; instead, streams are delivered over plain HTTPS using chunk...

ASYNCAPI

Semantic Vocabularies 1

JSON-LD contexts and semantic vocabularies used across these APIs.

Lichess Context

55 classes · 16 properties

JSON-LD

Spectral Rules 3

Spectral governance rulesets for linting and validating these APIs.

Lichess API Rules

9 rules · 1 errors 7 warnings 1 info

SPECTRAL

Lichess API Rules

5 rules · 3 warnings 2 info

SPECTRAL

Lichess API Rules

11 rules · 4 errors 6 warnings 1 info

SPECTRAL

JSON Schema 2

Standalone JSON Schema definitions for this provider's data models.

Lichess Game

20 properties

JSON SCHEMA

Lichess User

16 properties

JSON SCHEMA

Security Posture 3

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Lichess Authentication

oauth2 · 1 scheme

SECURITY

Lichess Domain Security

TLSv1.3 · HSTS · DNSSEC · DMARC

SECURITY

Lichess Vulnerability Disclosure

security.txt · contact published

SECURITY

Scopes 1

OAuth scopes governing access to this provider's APIs.

Lichess Scopes

23 scopes · authorizationCode

23 scopes

SCOPES

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Lichess Agentic Access

185 operations · 84 acting · 4 human-in-the-loop

185 operations · 84 acting

AGENTIC

Resources

Get Started 3

Portal, sign-up, and the first successful call

Documentation 2

Reference material describing how the API behaves

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Build 23

SDKs, sample code, and the tooling you integrate with

Scroll for all 23

Access & Security 7

Authentication, authorization, and security posture

Scroll for all 7

Operate 5

Status, limits, changes, and where to get help

Commercial 5

Pricing, plans, and the legal terms of use

Company 1

The organization behind the API

Other 2

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: lichess
url: https://raw.githubusercontent.com/api-evangelist/lichess/refs/heads/main/apis.yml
apis:
- aid: lichess:lichess-account-api
  name: Lichess Account API
  description: 'Read and write account information and preferences.

    <https://lichess.org/account/preferences/game-display>'
  humanURL: https://lichess.org/api
  baseURL: https://lichess.org
  tags:
  - Account
  properties:
  - type: OpenAPI
    url: openapi/lichess-account-api-openapi.yml
  - type: Documentation
    url: https://lichess.org/api
  - type: AsyncAPI
    url: asyncapi/lichess-asyncapi.yml
  - type: JSONSchema
    url: json-schema/lichess-game-schema.json
  - type: JSONSchema
    url: json-schema/lichess-user-schema.json
  - type: JSONLD
    url: json-ld/lichess-context.jsonld
  - type: SpectralRuleset
    url: rules/lichess-rules.yml
- aid: lichess:lichess-analysis-api
  name: Lichess Analysis API
  description: 'Access Lichess cloud evaluations database.

    <https://lichess.org/analysis>'
  humanURL: https://lichess.org/api
  baseURL: https://lichess.org
  tags:
  - Analysis
  properties:
  - type: OpenAPI
    url: openapi/lichess-analysis-api-openapi.yml
  - type: Documentation
    url: https://lichess.org/api
  - type: AsyncAPI
    url: asyncapi/lichess-asyncapi.yml
  - type: JSONSchema
    url: json-schema/lichess-game-schema.json
  - type: JSONSchema
    url: json-schema/lichess-user-schema.json
  - type: JSONLD
    url: json-ld/lichess-context.jsonld
  - type: SpectralRuleset
    url: rules/lichess-rules.yml
- aid: lichess:lichess-board-api
  name: Lichess Board API
  description: "Play on Lichess with physical boards and third-party clients.\nWorks with normal Lichess accounts. Engine\
    \ play or assistance is [forbidden](https://lichess.org/page/fair-play).\n\n### Features\n- [Stream incoming chess moves](#tag/board/GET/api/board/game/stream/{gameId})\n\
    - [Play chess moves](#tag/board/POST/api/board/game/{gameId}/move/{move})\n- [Read](#tag/board/GET/api/board/game/stream/{gameId})\
    \ and [write](#tag/board/POST/api/board/game/{gameId}/chat) in the player and spectator chats\n- [Receive](#tag/board/GET/api/stream/event),\
    \ [create](#tag/challenges/POST/api/challenge/{username}) and [accept](#tag/challenges/POST/api/challenge/{challengeId}/accept)\
    \ (or [decline](#tag/challenges/POST/api/challenge/{challengeId}/decline)) challenges\n- [Abort](#tag/board/POST/api/board/game/{gameId}/abort)\
    \ and [resign](#tag/board/POST/api/board/game/{gameId}/resign) games\n- Compatible with normal Lichess accounts\n\n###\
    \ Restrictions\n- Engine assistance, or any kind of outside help, is [forbidden](https://lichess.org/page/fair-play)\n\
    - Time controls: [Rapid, Classical and Correspondence](https://lichess.org/faq#time-controls) only.\n  For direct challenges,\
    \ games vs AI, and bulk pairing, Blitz is also possible.\n\n### Links\n- [Announcement](https://lichess.org/blog/XlRW5REAAB8AUJJ-/welcome-lichess-boards)\n\
    - [Implementation example](https://github.com/lichess-org/api-demo) and [live demo](https://lichess-org.github.io/api-demo/)\n\
    - [Certabo support](https://github.com/haklein/certabo-lichess)\n- [Lichs (play from command-line)](https://github.com/Cqsi/lichs)\n\
    - [Lichess discord bot](https://top.gg/bot/707287095911120968)\n- [cli-chess](https://github.com/trevorbayless/cli-chess/)\n\
    - [Blunderly 3D board](https://github.com/maurimo/blunderly)\n- Yours? Please make [an issue or pull request](https://github.com/lichess-org/api)."
  humanURL: https://lichess.org/api
  baseURL: https://lichess.org
  tags:
  - Board
  properties:
  - type: OpenAPI
    url: openapi/lichess-board-api-openapi.yml
  - type: Documentation
    url: https://lichess.org/api
  - type: AsyncAPI
    url: asyncapi/lichess-asyncapi.yml
  - type: JSONSchema
    url: json-schema/lichess-game-schema.json
  - type: JSONSchema
    url: json-schema/lichess-user-schema.json
  - type: JSONLD
    url: json-ld/lichess-context.jsonld
  - type: SpectralRuleset
    url: rules/lichess-rules.yml
- aid: lichess:lichess-bot-api
  name: Lichess Bot API
  description: 'Play on Lichess as a bot. Allows engine play.

    Read the [blog post announcement of lichess bots](https://lichess.org/blog/WvDNticAAMu_mHKP/welcome-lichess-bots).


    Only works with [Bot accounts](#tag/bot/POST/api/bot/account/upgrade).


    ### Features

    - [Stream incoming chess moves](#tag/bot/GET/api/bot/game/stream/{gameId})

    - [Play chess moves](#tag/bot/POST/api/bot/game/{gameId}/move/{move})

    - [Read](#tag/bot/GET/api/bot/game/stream/{gameId}) and [write](#tag/bot/POST/api/bot/game/{gameId}/chat) in the player
    and spectator chats

    - [Receive](#tag/bot/GET/api/stream/event), [create](#tag/challenges/POST/api/challenge/{username}) and [accept](#tag/challenges/POST/api/challenge/{challengeId}/accept)
    (or [decline](#tag/challenges/POST/api/challenge/{challengeId}/decline)) challenges

    - [Abort](#tag/bot/POST/api/bot/game/{gameId}/abort) and [resign](#tag/bot/POST/api/bot/game/{gameId}/resign) games

    - Engine assistance is [allowed](https://lichess.org/page/fair-play)

    ### Restrictions

    - Bots can only play challenge games:  pools and tournaments are off-limits

    - Bots cannot play UltraBullet (¼+0) because it requires making too many requests. But 0+1 and ½+0 are allowed.

    - Bots must follow [Lichess TOS](https://lichess.org/terms-of-service) specifically Sandbagging, Constant Aborting, Boosting,
    etc

    - Bot devs are advised to make their Bots play casual only when testing their Bots logic and to avoid breaking Lichess
    TOS.

    ### Integrations

    - [Python3 lichess-bot](https://github.com/lichess-bot-devs/lichess-bot) (official)

    - [Python3 lichess UCI bot](https://github.com/Torom/BotLi)

    - [JavaScript bot-o-tron](https://github.com/tailuge/bot-o-tron)

    - [Golang lichess-bot](https://github.com/dolegi/lichess-bot)

    - [Electronic Chessboard](http://www.oliviermercier.com/res/projects/chessboard/)

    - Yours? Please make [an issue or pull request](https://github.com/lichess-org/api).

    ### Links

    - [Announcement](https://lichess.org/blog/WvDNticAAMu_mHKP/welcome-lichess-bots)

    - Join the [Lichess Bots team](https://lichess.org/team/lichess-bots) with your bot account

    - [Get help in the discord channel](https://discord.gg/quwueFd)

    - Watch [Lichess Bot TV](https://lichess.org/tv/bot)'
  humanURL: https://lichess.org/api
  baseURL: https://lichess.org
  tags:
  - Bot
  properties:
  - type: OpenAPI
    url: openapi/lichess-bot-api-openapi.yml
  - type: Documentation
    url: https://lichess.org/api
  - type: AsyncAPI
    url: asyncapi/lichess-asyncapi.yml
  - type: JSONSchema
    url: json-schema/lichess-game-schema.json
  - type: JSONSchema
    url: json-schema/lichess-user-schema.json
  - type: JSONLD
    url: json-ld/lichess-context.jsonld
  - type: SpectralRuleset
    url: rules/lichess-rules.yml
- aid: lichess:lichess-broadcasts-api
  name: Lichess Broadcasts API
  description: 'Relay chess events on Lichess.

    [Official broadcasts](https://lichess.org/broadcast) are maintained by Lichess,

    but you can [create your own broadcasts](https://lichess.org/broadcast/new) to cover any live game or chess event.

    You will need to publish PGN on a public URL so that Lichess can pull updates from it.

    Alternatively, you can push PGN updates to Lichess using [this API endpoint](#tag/broadcasts/POST/api/broadcast/round/{broadcastRoundId}/push).


    Broadcasts are organized in tournaments, which have several rounds, which have several games.

    You must first create a tournament, then you can add rounds to them.'
  humanURL: https://lichess.org/api
  baseURL: https://lichess.org
  tags:
  - Broadcasts
  properties:
  - type: OpenAPI
    url: openapi/lichess-broadcasts-api-openapi.yml
  - type: Documentation
    url: https://lichess.org/api
  - type: AsyncAPI
    url: asyncapi/lichess-asyncapi.yml
  - type: JSONSchema
    url: json-schema/lichess-game-schema.json
  - type: JSONSchema
    url: json-schema/lichess-user-schema.json
  - type: JSONLD
    url: json-ld/lichess-context.jsonld
  - type: SpectralRuleset
    url: rules/lichess-rules.yml
- aid: lichess:lichess-bulk-pairings-api
  name: Lichess Bulk pairings API
  description: 'Create many games for other players.


    These endpoints are intended for tournament organisers.'
  humanURL: https://lichess.org/api
  baseURL: https://lichess.org
  tags:
  - Bulk pairings
  properties:
  - type: OpenAPI
    url: openapi/lichess-bulk-pairings-api-openapi.yml
  - type: Documentation
    url: https://lichess.org/api
  - type: AsyncAPI
    url: asyncapi/lichess-asyncapi.yml
  - type: JSONSchema
    url: json-schema/lichess-game-schema.json
  - type: JSONSchema
    url: json-schema/lichess-user-schema.json
  - type: JSONLD
    url: json-ld/lichess-context.jsonld
  - type: SpectralRuleset
    url: rules/lichess-rules.yml
- aid: lichess:lichess-challenges-api
  name: Lichess Challenges API
  description: 'Send and receive challenges to play.


    To create a lot of challenges, consider [bulk pairing](#tag/bulk-pairings/POST/api/bulk-pairing) instead.'
  humanURL: https://lichess.org/api
  baseURL: https://lichess.org
  tags:
  - Challenges
  properties:
  - type: OpenAPI
    url: openapi/lichess-challenges-api-openapi.yml
  - type: Documentation
    url: https://lichess.org/api
  - type: AsyncAPI
    url: asyncapi/lichess-asyncapi.yml
  - type: JSONSchema
    url: json-schema/lichess-game-schema.json
  - type: JSONSchema
    url: json-schema/lichess-user-schema.json
  - type: JSONLD
    url: json-ld/lichess-context.jsonld
  - type: SpectralRuleset
    url: rules/lichess-rules.yml
- aid: lichess:lichess-external-engine-api
  name: Lichess External engine API
  description: '**This API is in alpha and subject to change.**


    Use or provide external engine analysis.


    External engines can provide analysis on pages like the

    [analysis board](https://lichess.org/analysis), running as a service

    outside of the browser, or even on a different machine.'
  humanURL: https://lichess.org/api
  baseURL: https://lichess.org
  tags:
  - External engine
  properties:
  - type: OpenAPI
    url: openapi/lichess-external-engine-api-openapi.yml
  - type: Documentation
    url: https://lichess.org/api
  - type: AsyncAPI
    url: asyncapi/lichess-asyncapi.yml
  - type: JSONSchema
    url: json-schema/lichess-game-schema.json
  - type: JSONSchema
    url: json-schema/lichess-user-schema.json
  - type: JSONLD
    url: json-ld/lichess-context.jsonld
  - type: SpectralRuleset
    url: rules/lichess-rules.yml
- aid: lichess:lichess-fide-api
  name: Lichess FIDE API
  description: 'FIDE players and federations from [their public download](https://ratings.fide.com/download_lists.phtml).


    <https://lichess.org/fide>'
  humanURL: https://lichess.org/api
  baseURL: https://lichess.org
  tags:
  - FIDE
  properties:
  - type: OpenAPI
    url: openapi/lichess-fide-api-openapi.yml
  - type: Documentation
    url: https://lichess.org/api
  - type: AsyncAPI
    url: asyncapi/lichess-asyncapi.yml
  - type: JSONSchema
    url: json-schema/lichess-game-schema.json
  - type: JSONSchema
    url: json-schema/lichess-user-schema.json
  - type: JSONLD
    url: json-ld/lichess-context.jsonld
  - type: SpectralRuleset
    url: rules/lichess-rules.yml
- aid: lichess:lichess-games-api
  name: Lichess Games API
  description: 'Access games played on Lichess.

    <https://lichess.org/games>'
  humanURL: https://lichess.org/api
  baseURL: https://lichess.org
  tags:
  - Games
  properties:
  - type: OpenAPI
    url: openapi/lichess-games-api-openapi.yml
  - type: Documentation
    url: https://lichess.org/api
  - type: AsyncAPI
    url: asyncapi/lichess-asyncapi.yml
  - type: JSONSchema
    url: json-schema/lichess-game-schema.json
  - type: JSONSchema
    url: json-schema/lichess-user-schema.json
  - type: JSONLD
    url: json-ld/lichess-context.jsonld
  - type: SpectralRuleset
    url: rules/lichess-rules.yml
- aid: lichess:lichess-messaging-api
  name: Lichess Messaging API
  description: 'Private messages with other players.

    <https://lichess.org/inbox>'
  humanURL: https://lichess.org/api
  baseURL: https://lichess.org
  tags:
  - Messaging
  properties:
  - type: OpenAPI
    url: openapi/lichess-messaging-api-openapi.yml
  - type: Documentation
    url: https://lichess.org/api
  - type: AsyncAPI
    url: asyncapi/lichess-asyncapi.yml
  - type: JSONSchema
    url: json-schema/lichess-game-schema.json
  - type: JSONSchema
    url: json-schema/lichess-user-schema.json
  - type: JSONLD
    url: json-ld/lichess-context.jsonld
  - type: SpectralRuleset
    url: rules/lichess-rules.yml
- aid: lichess:lichess-oauth-api
  name: Lichess OAuth API
  description: 'Obtaining and revoking OAuth tokens.


    [Read about the Lichess API authentication methods and code examples](https://github.com/lichess-org/api/blob/master/example/README.md).'
  humanURL: https://lichess.org/api
  baseURL: https://lichess.org
  tags:
  - OAuth
  properties:
  - type: OpenAPI
    url: openapi/lichess-oauth-api-openapi.yml
  - type: Documentation
    url: https://lichess.org/api
  - type: AsyncAPI
    url: asyncapi/lichess-asyncapi.yml
  - type: JSONSchema
    url: json-schema/lichess-game-schema.json
  - type: JSONSchema
    url: json-schema/lichess-user-schema.json
  - type: JSONLD
    url: json-ld/lichess-context.jsonld
  - type: SpectralRuleset
    url: rules/lichess-rules.yml
- aid: lichess:lichess-opening-explorer-api
  name: Lichess Opening Explorer API
  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`.'
  humanURL: https://lichess.org/api
  baseURL: https://lichess.org
  tags:
  - Opening Explorer
  properties:
  - type: OpenAPI
    url: openapi/lichess-opening-explorer-api-openapi.yml
  - type: Documentation
    url: https://lichess.org/api
  - type: AsyncAPI
    url: asyncapi/lichess-asyncapi.yml
  - type: JSONSchema
    url: json-schema/lichess-game-schema.json
  - type: JSONSchema
    url: json-schema/lichess-user-schema.json
  - type: JSONLD
    url: json-ld/lichess-context.jsonld
  - type: SpectralRuleset
    url: rules/lichess-rules.yml
- aid: lichess:lichess-puzzles-api
  name: Lichess Puzzles API
  description: 'Fetch and solve [puzzles](https://lichess.org/training), view your puzzle history and dashboard.


    Our collection of puzzles is in the public domain, you can [download it here](https://database.lichess.org/#puzzles).

    For a list of our [puzzle themes](https://lichess.org/training/themes) with their description, check out the [theme translation
    file](https://github.com/ornicar/lila/blob/master/translation/source/puzzleTheme.xml).'
  humanURL: https://lichess.org/api
  baseURL: https://lichess.org
  tags:
  - Puzzles
  properties:
  - type: OpenAPI
    url: openapi/lichess-puzzles-api-openapi.yml
  - type: Documentation
    url: https://lichess.org/api
  - type: AsyncAPI
    url: asyncapi/lichess-asyncapi.yml
  - type: JSONSchema
    url: json-schema/lichess-game-schema.json
  - type: JSONSchema
    url: json-schema/lichess-user-schema.json
  - type: JSONLD
    url: json-ld/lichess-context.jsonld
  - type: SpectralRuleset
    url: rules/lichess-rules.yml
- aid: lichess:lichess-relations-api
  name: Lichess Relations API
  description: Access relations between users.
  humanURL: https://lichess.org/api
  baseURL: https://lichess.org
  tags:
  - Relations
  properties:
  - type: OpenAPI
    url: openapi/lichess-relations-api-openapi.yml
  - type: Documentation
    url: https://lichess.org/api
  - type: AsyncAPI
    url: asyncapi/lichess-asyncapi.yml
  - type: JSONSchema
    url: json-schema/lichess-game-schema.json
  - type: JSONSchema
    url: json-schema/lichess-user-schema.json
  - type: JSONLD
    url: json-ld/lichess-context.jsonld
  - type: SpectralRuleset
    url: rules/lichess-rules.yml
- aid: lichess:lichess-simuls-api
  name: Lichess Simuls API
  description: 'Access simuls played on Lichess.

    <https://lichess.org/simul>'
  humanURL: https://lichess.org/api
  baseURL: https://lichess.org
  tags:
  - Simuls
  properties:
  - type: OpenAPI
    url: openapi/lichess-simuls-api-openapi.yml
  - type: Documentation
    url: https://lichess.org/api
  - type: AsyncAPI
    url: asyncapi/lichess-asyncapi.yml
  - type: JSONSchema
    url: json-schema/lichess-game-schema.json
  - type: JSONSchema
    url: json-schema/lichess-user-schema.json
  - type: JSONLD
    url: json-ld/lichess-context.jsonld
  - type: SpectralRuleset
    url: rules/lichess-rules.yml
- aid: lichess:lichess-studies-api
  name: Lichess Studies API
  description: 'Access Lichess studies.

    <https://lichess.org/study>'
  humanURL: https://lichess.org/api
  baseURL: https://lichess.org
  tags:
  - Studies
  properties:
  - type: OpenAPI
    url: openapi/lichess-studies-api-openapi.yml
  - type: Documentation
    url: https://lichess.org/api
  - type: AsyncAPI
    url: asyncapi/lichess-asyncapi.yml
  - type: JSONSchema
    url: json-schema/lichess-game-schema.json
  - type: JSONSchema
    url: json-schema/lichess-user-schema.json
  - type: JSONLD
    url: json-ld/lichess-context.jsonld
  - type: SpectralRuleset
    url: rules/lichess-rules.yml
- aid: lichess:lichess-tablebase-api
  name: Lichess Tablebase API
  description: 'Lookup positions from the [Lichess tablebase server](https://lichess.org/blog/W3WeMyQAACQAdfAL/7-piece-syzygy-tablebases-are-complete).


    > [!important]

    > The hostname for these endpoints is `tablebase.lichess.org` and not `lichess.org`.'
  humanURL: https://lichess.org/api
  baseURL: https://lichess.org
  tags:
  - Tablebase
  properties:
  - type: OpenAPI
    url: openapi/lichess-tablebase-api-openapi.yml
  - type: Documentation
    url: https://lichess.org/api
  - type: AsyncAPI
    url: asyncapi/lichess-asyncapi.yml
  - type: JSONSchema
    url: json-schema/lichess-game-schema.json
  - type: JSONSchema
    url: json-schema/lichess-user-schema.json
  - type: JSONLD
    url: json-ld/lichess-context.jsonld
  - type: SpectralRuleset
    url: rules/lichess-rules.yml
- aid: lichess:lichess-teams-api
  name: Lichess Teams API
  description: 'Access and manage Lichess teams and their members.

    <https://lichess.org/team>'
  humanURL: https://lichess.org/api
  baseURL: https://lichess.org
  tags:
  - Teams
  properties:
  - type: OpenAPI
    url: openapi/lichess-teams-api-openapi.yml
  - type: Documentation
    url: https://lichess.org/api
  - type: AsyncAPI
    url: asyncapi/lichess-asyncapi.yml
  - type: JSONSchema
    url: json-schema/lichess-game-schema.json
  - type: JSONSchema
    url: json-schema/lichess-user-schema.json
  - type: JSONLD
    url: json-ld/lichess-context.jsonld
  - type: SpectralRuleset
    url: rules/lichess-rules.yml
- aid: lichess:lichess-tournaments-arena-api
  name: Lichess Tournaments (Arena) API
  description: 'Access Arena tournaments played on Lichess.

    [Official Arena tournaments](https://lichess.org/tournament) are maintained by Lichess,

    but you can [create your own Arena tournaments](https://lichess.org/tournament/new) as well.'
  humanURL: https://lichess.org/api
  baseURL: https://lichess.org
  tags:
  - Tournaments (Arena)
  properties:
  - type: OpenAPI
    url: openapi/lichess-tournaments-arena-api-openapi.yml
  - type: Documentation
    url: https://lichess.org/api
  - type: AsyncAPI
    url: asyncapi/lichess-asyncapi.yml
  - type: JSONSchema
    url: json-schema/lichess-game-schema.json
  - type: JSONSchema
    url: json-schema/lichess-user-schema.json
  - type: JSONLD
    url: json-ld/lichess-context.jsonld
  - type: SpectralRuleset
    url: rules/lichess-rules.yml
- aid: lichess:lichess-tournaments-swiss-api
  name: Lichess Tournaments (Swiss) API
  description: 'Access Swiss tournaments played on Lichess.

    [Read more about Swiss tournaments.](https://lichess.org/swiss).'
  humanURL: https://lichess.org/api
  baseURL: https://lichess.org
  tags:
  - Tournaments (Swiss)
  properties:
  - type: OpenAPI
    url: openapi/lichess-tournaments-swiss-api-openapi.yml
  - type: Documentation
    url: https://lichess.org/api
  - type: AsyncAPI
    url: asyncapi/lichess-asyncapi.yml
  - type: JSONSchema
    url: json-schema/lichess-game-schema.json
  - type: JSONSchema
    url: json-schema/lichess-user-schema.json
  - type: JSONLD
    url: json-ld/lichess-context.jsonld
  - type: SpectralRuleset
    url: rules/lichess-rules.yml
- aid: lichess:lichess-tv-api
  name: Lichess TV API
  description: 'Access Lichess TV channels and games.

    <https://lichess.org/tv> & <https://lichess.org/games>'
  humanURL: https://lichess.org/api
  baseURL: https://lichess.org
  tags:
  - TV
  properties:
  - type: OpenAPI
    url: openapi/lichess-tv-api-openapi.yml
  - type: Documentation
    url: https://lichess.org/api
  - type: AsyncAPI
    url: asyncapi/lichess-asyncapi.yml
  - type: JSONSchema
    url: json-schema/lichess-game-schema.json
  - type: JSONSchema
    url: json-schema/lichess-user-schema.json
  - type: JSONLD
    url: json-ld/lichess-context.jsonld
  - type: SpectralRuleset
    url: rules/lichess-rules.yml
- aid: lichess:lichess-users-api
  name: Lichess Users API
  description: 'Access registered users on Lichess.

    <https://lichess.org/player>


    - Each user blog exposes an atom (RSS) feed, like <https://lichess.org/@/thibault/blog.atom>

    - User blogs mashup feed: https://lichess.org/blog/community.atom

    - User blogs mashup feed for a language: https://lichess.org/blog/community/fr.atom'
  humanURL: https://lichess.org/api
  baseURL: https://lichess.org
  tags:
  - Users
  properties:
  - type: OpenAPI
    url: openapi/lichess-users-api-openapi.yml
  - type: Documentation
    url: https://lichess.org/api
  - type: AsyncAPI
    url: asyncapi/lichess-asyncapi.yml
  - type: JSONSchema
    url: json-schema/lichess-game-schema.json
  - type: JSONSchema
    url: json-schema/lichess-user-schema.json
  - type: JSONLD
    url: json-ld/lichess-context.jsonld
  - type: SpectralRuleset
    url: rules/lichess-rules.yml
name: Lichess
tags:
- Chess
- Games
- Open Source
- Nonprofit
- Tournaments
- Puzzles
- Bots
- Streaming
- ND-JSON
- OAuth
kind: contract
accessModel:
  pricing: freemium
  onboarding: self-serve
  trial: false
  try_now: true
  public: false
  label: Freemium · Self-serve signup
  confidence: high
  source:
  - plans
  - authentication
  generated: '2026-07-22'
  method: derived
image: https://lichess1.org/assets/logo/lichess-pad12.svg
access: 3rd-Party
common:
- type: PostmanWorkspace
  url: https://www.postman.com/kinlaneapi/lichess/overview
- type: AgenticAccess
  url: agentic-access/lichess-agentic-access.yml
- type: VulnerabilityDisclosure
  url: security/lichess-vulnerability-disclosure.yml
- type: DomainSecurity
  url: security/lichess-domain-security.yml
- type: Authentication
  url: authentication/lichess-authentication.yml
- type: OAuthScopes
  url: scopes/lichess-scopes.yml
- url: https://lichess.org
  name: Lichess
  type: Portal
- url: https://lichess.org/api
  name: API Reference
  type: Documentation
- url: https://lichess.org/api/ui
  name: API UI
  type: Sandbox
- url: https://lichess-org.github.io/api-demo/
  name: API Demo
  type: Sandbox
- url: https://github.com/lichess-org
  name: Lichess on GitHub
  type: GitHubOrganization
- url: https://github.com/lichess-org/api
  name: Lichess API Documentation Repository
  type: SourceCode
- url: https://github.com/lichess-org/lila
  name: Lila - Lichess Server
  type: SourceCode
- url: https://github.com/lichess-org/scalachess
  name: scalachess Engine Library
  type: SourceCode
- url: https://github.com/lichess-org/chessground
  name: Chessground Board UI
  type: SourceCode
- url: https://github.com/lichess-org/pgn-viewer
  name: PGN Viewer
  type: SourceCode
- url: https://github.com/lichess-org/mobile
  name: Lichess Mobile (Flutter)
  type: SourceCode
- url: https://github.com/lichess-org/berserk
  name: Berserk - Python Client
  type: SDKs
- url: https://github.com/tors42/chariot
  name: Chariot - Java Client
  type: SDKs
- url: https://github.com/devjiwonchoi/equine
  name: Equine - JavaScript/TypeScript Client
  type: SDKs
- url: https://github.com/Rabergsel/LichessNET
  name: LichessNET - C# Client
  type: SDKs
- url: https://github.com/Dblike/LichessSharp
  name: LichessSharp - .NET Client
  type: SDKs
- url: https://github.com/mkomon/uberserk
  name: uberserk - MicroPython Client
  type: SDKs
- url: https://pypi.org/project/async-lichess-sdk
  name: async-lichess-sdk
  type: SDKs
- url: https://github.com/lichess-bot-devs/lichess-bot
  name: lichess-bot - Python Bot Reference
  type: Tools
- url: https://github.com/lichess-org/fishnet
  name: Fishnet - Distributed Stockfish Analysis
  type: Tools
- url: https://github.com/lichess-org/external-engine
  name: External Engine
  type: Tools
- url: https://github.com/lichess-org/broadcaster
  name: Broadcaster
  type: Tools
- url: https://github.com/lichess-org/pgn-mule
  name: PGN Mule
  type: Tools
- url: https://github.com/lichess-org/api-ui
  name: API UI Source
  type: Tools
- url: https://github.com/lichess-org/api/tree/master/example
  name: OAuth and API Examples
  type: CodeExamples
- url: https://discord.gg/lichess
  name: Lichess Discord
  type: Forums
- url: https://lichess.org/forum
  name: Lichess Forum
  type: Forums
- url: https://database.lichess.org/
  name: Lichess Database Exports
  type: BulkDataDownload
- url: https://lichess.org/account/oauth/token
  name: Personal Access Token
  type: Authentication
- url: https://lichess.org/developers
  name: Lichess Widgets
  type: Documentation
- url: https://lichess.org/account/oauth/app
  name: OAuth App Registration
  type: Authentication
- url: https://lichess.org/page/fair-play
  name: Fair Play Policy
  type: TermsOfService
- url: https://lichess.org/terms-of-service
  name: Terms of Service
  type: TermsOfService
- url: https://lichess.org/privacy
  type: PrivacyPolicy
- url: https://lichess.org/source
  name: Source Code
  type: SourceCode
- url: https://lichess.org/patron
  name: Become a Lichess Patron
  type: Donate
- url: https://status.lichess.org/
  name: Lichess Status
  type: StatusPage
- url: https://lichess.org/blog
  type: Blog
- url: https://lichess.org/api#section/Introduction/Rate-limiting
  name: Rate Limiting
  type: RateLimits
- url: https://lichess.org/api#tag/OAuth
  name: OAuth and PKCE
  type: Authentication
- url: https://www.gnu.org/licenses/agpl-3.0.txt
  name: AGPL-3.0
  type: License
- url: plans/lichess-plans-pricing.yml
  type: Plans
- url: rate-limits/lichess-rate-limits.yml
  type: RateLimits
- type: Features
  data:
  - Free, ad-free, open-source online chess server operated by a French nonprofit, funded by donations
  - Full OpenAPI 3.1 specification with 185 operations across 23 tags published at github.com/lichess-org/api
  - Account, users, relations, and messaging endpoints for managing players and social graph
  - Games REST and ND-JSON streaming endpoints for current and historical games, including PGN export
  - TV channels and current best games for live broadcast and embedding
  - Daily puzzle, puzzle by ID, puzzle activity, and puzzle dashboard endpoints
  - Teams API for creating, joining, listing, and managing chess teams
  - Board API for playing real-time games with physical boards and third-party clients using regular accounts
  - Bot API for programmatic play by accounts upgraded to bot status, with streaming game state
  - Challenges API for issuing, accepting, declining, and listing challenges including AI and open challenges
  - Bulk pairings for programmatically creating many games at once
  - Arena and Swiss tournament APIs including create, update, terminate, join, withdraw, and result export
  - Simuls endpoint for current and upcoming simultaneous exhibitions
  - Studies API for exporting and importing study chapters in PGN
  - Broadcasts API for creating tournaments, rounds, and pushing PGN updates for live event coverage
  - FIDE endpoints exposing FIDE player and federation data
  - Opening Explorer with Masters database, Lichess database, and player database lookups
  - Tablebase endpoint for 7-piece Syzygy endgame results
  - External Engine API enabling user-hosted engines to power analysis on lichess.org/analysis
  - Cloud evaluation lookup for previously evaluated positions
  - OAuth 2.0 Authorization Code Flow with PKCE plus personal access tokens, long-lived (one year typical)
  - Newline-delimited JSON (ND-JSON) streaming for events, games, and TV feeds
  - Distributed Stockfish analysis network (fishnet) and open client-side Stockfish WASM builds
  - Public dataset exports of all rated games, puzzles, and computer evaluations at database.lichess.org
  - Official community SDKs in Python (berserk), Java (chariot), JavaScript/TypeScript (equine), .NET, and more
  - AGPL-3.0 licensed server (lila), with MIT scalachess engine library and GPL-3.0 mobile and tooling code
  sources:
  - https://lichess.org/api
  - https://github.com/lichess-org/api
  - https://github.com/lichess-org
  - https://lichess.org/about
  updated: '2026-05-25'
created: '2026-05-25T00:00:00.000Z'
modified: '2026-05-25'
position: Consuming
description: Lichess is a free, ad-free, open-source online chess server operated by a French nonprofit and powered entirely
  by volunteers and donations. It serves millions of games per day with live play, tournaments, puzzles, studies, broadcasts,
  analysis, and a public API. The server (lila), engine library (scalachess), mobile app, board UI (chessground), and distributed
  Stockfish analysis network (fishnet) are all open source under AGPL-3.0, MIT, and GPL-3.0 licenses. The Lichess API provides
  185 documented operations across 23 functional areas including Account, Users, Games, Puzzles, Teams, Board, Bot, Challenges,
  Arena and Swiss Tournaments, Simuls, Studies, Broadcasts, Messaging, OAuth, FIDE, Opening Explorer, Tablebase, External
  Engine, and Cloud Analysis, with comprehensive ND-JSON streaming support.
maintainers:
- FN: Kin Lane
  email: info@apievangelist.com
  X: apievangelist
  url: https://apievangelist.com
specificationVersion: '0.16'