Channels

This document provides an overview of all available WebSocket channels and their purposes.

Available Channels

Channel
Description
Update Frequency
Plans

MAIN

Key match events

Event-driven

PRO, ULTRA, MEGA

STATS

Full statistics snapshots

Immediate (match/league) · 30s batch (all)

ULTRA, MEGA

ODDS

Full odds snapshots

Immediate (match/league) · 30s batch (all)

ULTRA, MEGA

STATS_REALTIME

Statistics deltas

Real-time

MEGA

ODDS_REALTIME

Odds deltas

Real-time

MEGA

Channel Details

MAIN Channel

The MAIN channel delivers key match events as they happen:

  • Match start

  • Goals

  • Halftime

  • Second half start

  • Match end

Best for: Applications that need to track match progress and key events without full statistics.

Update frequency: Event-driven (only when events occur)

STATS Channel

The STATS channel delivers complete statistics snapshots:

  • All match statistics in a single message

  • match/league scope: immediate delivery when data changes

  • all scope: batched delivery every 30 seconds (batch_update)

Best for: Applications that need complete statistics data and don't require real-time updates.

Update frequency: Immediate for match/league scope · Every 30 seconds (batch) for all scope

ODDS Channel

The ODDS channel delivers complete odds snapshots:

  • All odds markets in a single message

  • match/league scope: immediate delivery when data changes

  • all scope: batched delivery every 30 seconds (batch_update)

Best for: Applications that need complete odds data and don't require real-time updates.

Update frequency: Immediate for match/league scope · Every 30 seconds (batch) for all scope

STATS_REALTIME Channel

The STATS_REALTIME channel delivers only the statistics that changed:

  • Delta updates (only changed values)

  • Immediate delivery when changes occur

  • Lower bandwidth than full snapshots

Best for: Applications that need instant statistics updates and can maintain local state.

Update frequency: Real-time (as changes occur)

ODDS_REALTIME Channel

The ODDS_REALTIME channel delivers only the odds that changed:

  • Delta updates (only changed values)

  • Immediate delivery when changes occur

  • Lower bandwidth than full snapshots

Best for: Applications that need instant odds updates and can maintain local state.

Update frequency: Real-time (as changes occur)

Channel Availability by Plan

Plan
MAIN
STATS
ODDS
STATS_REALTIME
ODDS_REALTIME

BASIC

-

-

-

-

-

PRO

Yes

-

-

-

-

ULTRA

Yes

Yes

Yes

-

-

MEGA

Yes

Yes

Yes

Yes

Yes

Subscription Scopes

All channels support the following subscription scopes:

Scope
Format
Description

All

all

Receive events for all matches

Match

match:{matchId}

Receive events for a specific match

League

league:{leagueId}

Receive events for all matches in a league

Choosing the Right Channel

For basic match tracking

Use MAIN channel only. You'll receive goals, halftime, and match end events.

For detailed statistics

Use STATS channel for periodic full snapshots, or STATS_REALTIME (MEGA only) for immediate updates.

For odds monitoring

Use ODDS channel for periodic full snapshots, or ODDS_REALTIME (MEGA only) for immediate updates.

For real-time applications

Combine MAIN for events with STATS_REALTIME and ODDS_REALTIME for the most responsive experience.

Message Format

Event message (match/league scope)

Sent immediately to match and league scope subscribers:

Field
Type
Description

type

string

Always "event"

channel

string

Source channel name

scope

string

Publish scope ("match")

id

string

Match public ID

eventType

string

Event type (e.g., "stats_update", "odds_update", "goal")

eventId

string

Unique event ID for deduplication

ts

integer

Event timestamp in milliseconds

data

object

Event-specific data

Batch message (all scope)

Sent every 30 seconds to all scope subscribers of STATS and ODDS channels:

Field
Type
Description

type

string

Always "batch_update"

channel

string

Source channel name ("STATS" or "ODDS")

scope

string

Always "all"

timestamp

integer

Batch creation timestamp in milliseconds

matches

array

Array of match updates accumulated since last batch

matches[].matchId

string

Match public ID

matches[].leagueId

string

League/Championship public ID

matches[].data

object

Event-specific data (same structure as event data)

Best Practices

  1. Start with MAIN: Always subscribe to MAIN for basic match events

  2. Add channels as needed: Subscribe to STATS or ODDS only if you need that data

  3. Use REALTIME wisely: REALTIME channels are powerful but require local state management

  4. Unsubscribe when done: Free up subscription slots when matches end

Last updated