Games
Get Match Commentary
Retrieve live play-by-play commentary and match analysis for a specific game.
GET
Game Commentary
Overview
The Match Commentary endpoint provides real-time play-by-play commentary for games, including match analysis, key events, and post-match summaries. Commentary is available during live matches and for completed games.Parameters
The unique game/match identifier.
The fixture identifier for play-by-play data (also known as matchupId). Can be obtained from game details response under
playByPlay.fixtureId.Commentary filter:
all- Returns all commentary messagestop- Returns key/highlighted moments only (preview)
Set to
true for live matches to get real-time commentary updates.Set to
true for finished matches, false for ongoing matches.All
LastModified timestamps use ISO 8601 format with UTC timezone (e.g., 2025-12-17T21:22:59Z). Commentary timestamps are always returned in UTC regardless of client timezone.Request
Response
Response Fields
Root Level
| Field | Type | Description |
|---|---|---|
Messages | array | Array of commentary messages |
UpdateURL | string | Reserved field (stripped from response for security) |
TTL | integer | Cache TTL in seconds (typically 60) |
Message Object
| Field | Type | Description |
|---|---|---|
Id | integer | Unique message ID (sequential) |
InnerId | string | Internal unique identifier |
Comment | string | The commentary text |
Timeline | string | Match minute when the event occurred |
Type | integer | Message type ID |
TypeName | string | Message type name |
Period | string | Match period identifier |
LastModified | string | ISO 8601 timestamp of last modification |
TimeLineSecondaryText | string | Additional time info (e.g., “+3’” for stoppage time) |
TimeLineSecondaryColor | string | Color for stoppage time display |
Message Types
| Type | TypeName | Description |
|---|---|---|
| 1 | goal | Goal scored |
| 2 | yellow_card | Yellow card shown |
| 3 | red_card | Red card shown |
| 4 | comment | General commentary |
| 5 | substitution | Player substitution |
| 6 | period_start | Period started |
| 7 | period_end | Period ended |
| 8 | penalty | Penalty event |
| 9 | var | VAR decision |
Period Values
| Period | Description |
|---|---|
| ”1” | First half |
| ”2” | Second half |
| ”3” | First half extra time |
| ”4” | Second half extra time |
| ”5” | Penalty shootout |
| ”14” | Post-match summary |
Obtaining the fixtureId
ThefixtureId is available in the game details response under the playByPlay object:
Real-time Updates
For live matches, use theUpdateURL to fetch only new messages after a certain ID:
Use Cases
- Display live match commentary feed
- Show post-match analysis and summaries
- Build match timeline with key events
- Create highlight reels based on commentary
- Track VAR decisions and penalties
Authorizations
Your SportsAPI Pro API key
Query Parameters
Game identifier
Example:
4452706
Fixture ID from game details playByPlay.fixtureId
Example:
"2yuulrtp37mbqe9rok936lslw"
Filter type: 'all' for all commentary, 'top' for highlights only
Available options:
all, top Set to true for live matches
Set to true for finished matches
Response
200
Game commentary retrieved successfully
Last modified on March 15, 2026
Game Commentary