Files
PolymarketDocumentation/docs/developers/sports-websocket/message-format.md
T
Etherdrake 396ea745b2 docs: sync with docs.polymarket.com - 2026-05-10
- Rescraped 97 empty/stale files across all sections (developers/, polymarket-learn/, quickstart/, changelog, resources/)
- All files now contain actual content fetched from docs.polymarket.com
2026-05-10 13:08:00 +00:00

6.9 KiB

Documentation Index

Fetch the complete documentation index at: https://docs.polymarket.com/llms.txt Use this file to discover all available pages before exploring further.

Sports WebSocket

Live sports scores and game state

The Sports WebSocket provides real-time sports results updates, including scores, periods, and game status. No authentication required.

Endpoint

wss://sports-api.polymarket.com/ws

No subscription message required — connect and start receiving data for all active sports events.

Heartbeat

The server sends ping every 5 seconds. Respond with pong within 10 seconds or the connection will close.

ws.onmessage = (event) => {
  if (event.data === "ping") {
    ws.send("pong");
    return;
  }

  // Handle JSON messages...
};

Message Type

Each message is a JSON object with game state fields.

sport_result

Emitted when:

  • A match goes live
  • The score changes
  • The period changes (e.g., halftime, overtime)
  • A match ends
  • Possession changes (NFL and CFB only)

NFL (in progress):

{
  "gameId": 19439,
  "leagueAbbreviation": "nfl",
  "slug": "nfl-lac-buf-2025-01-26",
  "homeTeam": "LAC",
  "awayTeam": "BUF",
  "status": "InProgress",
  "score": "3-16",
  "period": "Q4",
  "elapsed": "5:18",
  "live": true,
  "ended": false,
  "turn": "lac"
}

Esports — CS2 (finished):

{
  "gameId": 1317359,
  "leagueAbbreviation": "cs2",
  "slug": "cs2-arcred-the-glecs-2025-07-20",
  "homeTeam": "ARCRED",
  "awayTeam": "The glecs",
  "status": "finished",
  "score": "000-000|2-0|Bo3",
  "period": "2/3",
  "live": false,
  "ended": true,
  "finished_timestamp": "2025-07-20T18:30:00.000Z"
}

The finished_timestamp field is an ISO 8601 timestamp only present when ended: true.

The slug field follows the format {league}-{team1}-{team2}-{date} (e.g., nfl-buf-kc-2025-01-26).

Period Values

Period Description
1H First half
2H Second half
1Q, 2Q, 3Q, 4Q Quarters (NFL, NBA)
HT Halftime
FT Full time (match ended in regulation)
FT OT Full time with overtime
FT NR Full time, no result (draw or canceled)
End 1, End 2, ... End of inning (MLB)
1/3, 2/3, 3/3 Map number in Bo3 series (Esports)
1/5, 2/5, ... Map number in Bo5 series (Esports)

Game Status Values

Game status values vary by sport:

NFL

Status Description
Scheduled Game not yet started
InProgress Game currently playing
Final Game completed in regulation
F/OT Final after overtime
Suspended Game suspended
Postponed Game postponed
Delayed Game delayed
Canceled Game canceled
Forfeit Game forfeited
NotNecessary Scheduled, but not needed

NHL

Status Description
Scheduled Game not yet started
InProgress Game currently playing
Final Game completed in regulation
F/OT Final after overtime
F/SO Final after shootout
Suspended Game suspended
Postponed Game postponed
Delayed Game delayed
Canceled Game canceled
Forfeit Game forfeited
NotNecessary Scheduled, but not needed

MLB

Status Description
Scheduled Game not yet started
InProgress Game currently playing
Final Game completed
Suspended Game suspended
Delayed Game delayed
Postponed Game postponed
Canceled Game canceled
Forfeit Game forfeited
NotNecessary Scheduled, but not needed

NBA and CBB

Status Description
Scheduled Game not yet started
InProgress Game currently playing
Final Game completed
F/OT Final after overtime
Suspended Game suspended
Postponed Game postponed
Delayed Game delayed
Canceled Game canceled
Forfeit Game forfeited
NotNecessary Scheduled, but not needed

CFB

Status Description
Scheduled Game not yet started
InProgress Game currently playing
Final Game completed
F/OT Final after overtime
Suspended Game suspended
Postponed Game postponed
Delayed Game delayed
Canceled Game canceled
Forfeit Game forfeited

Soccer

Status Description
Scheduled Game not yet started
InProgress Game currently playing
Break Halftime or other break
Suspended Game suspended
PenaltyShootout Penalty shootout in progress
Final Game completed
Awarded Result awarded due to ruling/forfeit
Postponed Game postponed
Canceled Game canceled

Esports

Status Description
not_started Match not yet started
running Match currently playing
finished Match completed
postponed Match postponed
canceled Match canceled

Tennis

Status Description
scheduled Match not yet started
inprogress Match currently playing
suspended Match suspended
finished Match completed
postponed Match postponed
cancelled Match canceled