Overview
The V1 WebSocket provides real-time score updates with adaptive polling: 1-second intervals when live games exist, 2-second when no live games. This delivers the fastest possible score updates.Connection
{sport} with any supported sport slug (e.g., football, tennis, baseball).
The WebSocket connection requires authentication via the
x-api-key query parameter.Welcome Message
On successful connection, you receive:Client Messages
Subscribe
Unsubscribe
Ping / Pong
Server Messages
Sport Channel Updates
Live Channel (All Sports)
Match-Specific Updates
Available Channels
Code Examples
Update Frequency
World Cup reliability: pair V1 + V2
For high-stakes matches (World Cup knockouts, finals), run both the V1 and the V2 WebSocket in parallel. The two feeds sit on independent infrastructure paths with different upstream sources, so a hiccup on one side does not interrupt the other.Recommended pattern
- Connect to V2 as the primary source for sub-second incidents and stats.
- Connect to V1 in parallel and subscribe to
match:{gameId}for the same match — treat itsmatch-updatepayload as a hot fallback for score and status. - If V2 drops or stops emitting for more than a few seconds, your UI keeps updating from V1 without any user-visible gap.
- Combine with V1’s dedicated World Cup REST endpoints (
/api/v1/world-cup/...) for tournament-level context (groups, brackets, predictions).