Catalog/sports-elo-update

Sports

Elo rating update API

Updates two Elo ratings after one game with a configurable K-factor and an optional margin-of-victory multiplier that scales blowouts, returning expected scores, points exchanged, and new ratings. Answers 'What are the new Elo ratings after this result?', 'How much should ratings move for a blowout win?'.

Price$0.04per request
MethodPOST
Route/v1/sports/elo-update
StatusLive
MIME typeapplication/json
Rate limit120/minute
Cache0s public
sportseloratingk-factormargin-of-victoryrankingupdatechesspower-rating
API URLhttps://x402.hexl.dev/v1/sports/elo-update
Integration docs
Example request
{
  "ratingA": 1500,
  "ratingB": 1500,
  "scoreA": 1,
  "kFactor": 32
}
Example response
{
  "ratingA": 1500,
  "ratingB": 1500,
  "scoreA": 1,
  "kFactor": 32,
  "expectedScoreA": 0.5,
  "expectedScoreB": 0.5,
  "marginOfVictoryMultiplier": 1,
  "pointsExchanged": 16,
  "newRatingA": 1516,
  "newRatingB": 1484,
  "formula": "E_A = 1/(1+10^((R_B-R_A)/400)); ΔR = K·movMult·(S_A - E_A)"
}
Input schema
{
  "type": "object",
  "required": [
    "ratingA",
    "ratingB",
    "scoreA"
  ],
  "properties": {
    "ratingA": {
      "type": "number",
      "examples": [
        1500
      ]
    },
    "ratingB": {
      "type": "number",
      "examples": [
        1500
      ]
    },
    "scoreA": {
      "type": "number",
      "description": "Result for A: 1 win, 0.5 draw, 0 loss",
      "examples": [
        1
      ]
    },
    "kFactor": {
      "type": "number",
      "examples": [
        32
      ]
    },
    "marginOfVictory": {
      "type": "number",
      "description": "Optional score margin for MOV scaling",
      "examples": [
        3
      ]
    }
  }
}
Output schema
{
  "type": "object",
  "additionalProperties": true
}