API WebSocket

Este WebSocket proporciona actualizaciones en tiempo real sobre cambios en partidos individuales.

Detalles de conexión

  • Endpoint: wss://api.oddspapi.io/v4/ws?apiKey=YOUR_API_KEY
  • Dirección: Unidireccional (servidor → cliente)
  • Autenticación: API Key — YOUR_API_KEY

Estructura de datos

Todos los mensajes incluyen fixtureId. Solo se transmiten los valores que cambian, excepto para players objetos completos.

{
  "fixtureId": "string",
  "betradarId": "number?",
  "startTime": "number?",
  "participant1Id": "number?",
  "participant2Id": "number?",
  "sportId": "number?",
  "updatedAt": "string?",
  "tournamentId": "number?",
  "seasonId": "number|null",
  "sofascoreId": "number|null",
  "betgeniusId": "number|null",
  "flashscoreId": "string|null",
  "statusId": "number|null",
  "bookmakerOdds": {
    "bookmaker": {
      "bookmakerFixtureId": "string|null",
      "fixturePath": "string|null",
      "markets": {
        "marketId": {
          "bookmakerMarketId": "string|null",
          "outcomes": {
            "outcomeId": {
              "players": {
                "playerId": {
                  "limit": "number|null",
                  "price": "number",
                  "active": "boolean",
                  "oddsId": "string|null",
                  "betslip": "any|null",
                  "playerId": "number",
                  "changedAt": "string",
                  "playerName": "string|null",
                  "exchangeMeta": "any|null"
                }
              }
            }
          }
        }
      }
    }
  }
}

Características clave

  • Actualizaciones parciales: Solo se envían los valores que cambian
  • Objetos de jugador completos: Se retransmite el objeto completo del jugador si cambia cualquier valor
  • Actualizaciones por una sola casa de apuestas: Cada mensaje solo contiene actualizaciones para una casa de apuestas
  • Marcas de tiempo: updatedAt cambia con cualquier actualización de un campo de nivel superior

Ejemplos

Ejemplo 1: Actualización de metadatos del partido

{
  "fixtureId": "id2704726161008023",
  "statusId": 1,
  "updatedAt": "2025-06-11T16:55:28.415401+00:00"
}

Ejemplo 2: Actualización de cuotas de jugador

{
  "fixtureId": "id1100097561092987",
  "bookmakerOdds": {
    "starcasino.be": {
      "markets": {
        "111": {
          "outcomes": {
            "111": {
              "players": {
                "0": {
                  "active": true,
                  "betslip": null,
                  "bookmakerOutcomeId": "2535416646",
                  "changedAt": "2025-06-11T16:55:30.284055+00:00",
                  "limit": null,
                  "playerName": null,
                  "price": 1.345,
                  "exchangeMeta": {},
                  "playerId": 0
                }
              }
            }
          }
        }
      }
    }
  }
}

Ejemplo 3: Actualización de información de la casa de apuestas

{
  "fixtureId": "id1100023561139799",
  "bookmakerOdds": {
    "22bet": {
      "bookmakerFixtureId": "265591179",
      "fixturePath": "https://22bets.com/line/basketball/5226-e/265591179-kk-partizan-buducnost-podgorica"
    }
  }
}

Ejemplo 4: Actualización de múltiples mercados

{
  "fixtureId": "id1001509158796975",
  "bookmakerOdds": {
    "stake": {
      "markets": {
        "101": {
          "outcomes": {
            "101": {
              "players": {
                "0": {
                  "active": true,
                  "betslip": null,
                  "bookmakerOutcomeId": "2535416646",
                  "changedAt": "2025-06-11T16:55:30.284055+00:00",
                  "limit": null,
                  "playerName": null,
                  "price": 1.345,
                  "exchangeMeta": {},
                  "playerId": 0
                }
              }
            },
            "102": {
              "players": {
                "0": {
                  "active": true,
                  "betslip": null,
                  "bookmakerOutcomeId": "2535416646",
                  "changedAt": "2025-06-11T16:55:30.284055+00:00",
                  "limit": null,
                  "playerName": null,
                  "price": 1.345,
                  "exchangeMeta": {},
                  "playerId": 0
                }
              }
            }
          }
        }
      }
    }
  }
}

Ejemplo 5: Actualización de marcador

{
  "fixtureId": "id1000085362245214",
  "scores": {
    "periods": {
      "2": {
        "participant1Score": 0,
        "participant2Score": 0,
        "updatedAt": "2025-07-23T16:56:37.122614+00:00"
      }
    }
  }
}
Página anteriorGET scores
Informar de un problema
Selecciona uno