The routes
Your games (PGN)
GET /api/public/v1/games
Returns your games in PGN format, one block per game. Optional parameters: since and until (inclusive date bounds, YYYY-MM-DD format, UTC), limit (1 to 500 games per page, default 100) and cursor. When a page is full, the X-Next-Cursor response header carries the cursor of the next page; its absence marks the last page.
Example
curl -H "Authorization: Bearer cp_0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef" \
"https://www.chesspivot.com/api/public/v1/games?since=2026-01-01&limit=100"
Your repertoire (PGN)
GET /api/public/v1/repertoire
Returns your opening repertoire in PGN format. Optional parameter: locale (fr or en, default fr), the language of the opening names in the file headers.
Example
curl -H "Authorization: Bearer cp_0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef" \
"https://www.chesspivot.com/api/public/v1/repertoire?locale=fr"
Your weaknesses (JSON)
GET /api/public/v1/weaknesses
Returns, for each linked account, your detected weaknesses: stable identifier, French and English name, number of games involved and recent trend. Nothing more — the detection machinery is not published.
Example
curl -H "Authorization: Bearer cp_0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef" \
"https://www.chesspivot.com/api/public/v1/weaknesses"
Your profile (JSON)
GET /api/public/v1/profile
Returns the usernames linked to the account, the number of analysed games and the date of the latest analysis, account by account.
Example
curl -H "Authorization: Bearer cp_0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef" \
"https://www.chesspivot.com/api/public/v1/profile"