---
title: "Compute an Elo rating change for a single game"
method: GET
path: "/elo-calculator"
---

# Compute an Elo rating change for a single game

`GET /elo-calculator`

## Request

- Base URL: `https://www.chessigma.com/public-api/v1`
- URL: `https://www.chessigma.com/public-api/v1/elo-calculator`
- Auth: none required
- TypeScript: <https://skmtc.dev/chessigma/apis/chessigma-public-api/docs/elo-calculator/get.ts> (a function with typed inputs; its response is checked against the schema)

Pure arithmetic. Returns the new rating, point change, and expected score.

## Query parameters

- `yourRating` integer, required
- `opponentRating` integer, required
- `result` 'win' | 'draw' | 'loss', required
- `system` 'fide' | 'chesscom' | 'lichess'
- `kFactor` integer

## Response `200`

Computed rating change

- EloResponse
  - `yourRating` integer
  - `opponentRating` integer
  - `result` 'win' | 'draw' | 'loss'
  - `system` 'fide' | 'chesscom' | 'lichess'
  - `kFactor` integer: The K-factor used: kFactor if you passed one, otherwise the system's default.
  - `expectedScore` number: Probability of scoring, from 0 to 1.
  - `newRating` integer: Your rating after the game.
  - `change` integer: newRating minus yourRating.

## Other responses

- `400`: Invalid query parameters
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/chessigma/apis/chessigma-public-api.md) - [All operations](https://skmtc.dev/chessigma/apis/chessigma-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/chessigma/apis/chessigma-public-api/revisions/14ea5ae24479?raw)
