Betting - Live statistics
Provide aggregated data of matches such as statistics, point played, point scored, cards and more.
The statistics websocket contains a live 'stream' of the team and player actions happening within a match. This websocket is typically for clients wanting to integrate aggregated stats data to power live betting markets.
You should receive a new update any time a key action is completed and this websocket is crucial for powering live scores and match actions. The authentication token provided will be required to make a connection to this websocket endpoint. Once you have the API token, any further data that you send over the connection will be ignored. This endpoint sends heartbeats in-between data packets to let you know that it is still connected.
Endpoint URL
Aggregated live statistics
Legacy -wss://dde-streams.data.imgarena.com/v2/tabletennis/fixtures/{fixtureId}/statistics (Decommissioning on 30th Sept 2026)
NEW - wss://dde-streams.data.srarena.io/v2/tabletennis/fixtures/{fixtureId}/statistics
Path Parameters
fixtureId*
UUID
Unique id of a requested fixture.
Headers
Accept*
String
application/vnd.imggaming.dde.api+json;version=1
Connection
String
keep-alive
{
Request is missing required HTTP header 'Accept'
}{
"seqNum": 272,
"traceId": "d8ae33159677210f0ae59770483c3c69",
"version": 3,
"finished": true,
"fixtureId": "1bd00469-86fa-4f0b-abcc-30cbef80dacc",
"timestamp": "2025-05-30T08:06:20.093872300Z",
"teamActionAggregates": [
{
"team": {
"id": "0222e701-d937-4250-8041-0f8ed8cf4a23",
"name": "SIM_V2 - MUKHERJEE Ayhika/MUKHERJEE Sutirtha",
"homeTeam": true
},
"gameActionAggregates": [
{
"action": "Swap Serve",
"actionId": 1103,
"actionAggregate": 24,
"subActionAggregates": []
},
{
"action": "Point Scored",
"actionId": 1102,
"actionAggregate": 47,
"subActionAggregates": []
},
{
"action": "Point Started",
"actionId": 1101,
"actionAggregate": 47,
"subActionAggregates": []
},
{
"action": "Game Point",
"actionId": 1105,
"actionAggregate": 5,
"subActionAggregates": []
},
{
"action": "Match Point",
"actionId": 1108,
"actionAggregate": 1,
"subActionAggregates": []
}
],
"periodActionAggregates": [
{
"type": "Regular",
"label": "5th Set",
"period": 5,
"aggregates": [
{
"action": "Swap Serve",
"actionId": 1103,
"actionAggregate": 4,
"subActionAggregates": []
},
{
"action": "Point Started",
"actionId": 1101,
"actionAggregate": 8,
"subActionAggregates": []
},
{
"action": "Point Scored",
"actionId": 1102,
"actionAggregate": 11,
"subActionAggregates": []
},
{
"action": "Match Point",
"actionId": 1108,
"actionAggregate": 1,
"subActionAggregates": []
}
]
},
{
"type": "Regular",
"label": "1st Set",
"period": 1,
"aggregates": [
{
"action": "Swap Serve",
"actionId": 1103,
"actionAggregate": 5,
"subActionAggregates": []
},
{
"action": "Point Scored",
"actionId": 1102,
"actionAggregate": 4,
"subActionAggregates": []
},
{
"action": "Point Started",
"actionId": 1101,
"actionAggregate": 7,
"subActionAggregates": []
}
]
},
{
"type": "Regular",
"label": "4th Set",
"period": 4,
"aggregates": [
{
"action": "Point Started",
"actionId": 1101,
"actionAggregate": 10,
"subActionAggregates": []
},
{
"action": "Point Scored",
"actionId": 1102,
"actionAggregate": 11,
"subActionAggregates": []
},
{
"action": "Swap Serve",
"actionId": 1103,
"actionAggregate": 4,
"subActionAggregates": []
},
{
"action": "Game Point",
"actionId": 1105,
"actionAggregate": 1,
"subActionAggregates": []
}
]
},
{
"type": "Regular",
"label": "3rd Set",
"period": 3,
"aggregates": [
{
"action": "Point Scored",
"actionId": 1102,
"actionAggregate": 10,
"subActionAggregates": []
},
{
"action": "Swap Serve",
"actionId": 1103,
"actionAggregate": 7,
"subActionAggregates": []
},
{
"action": "Point Started",
"actionId": 1101,
"actionAggregate": 12,
"subActionAggregates": []
},
{
"action": "Game Point",
"actionId": 1105,
"actionAggregate": 1,
"subActionAggregates": []
}
]
},
{
"type": "Regular",
"label": "2nd Set",
"period": 2,
"aggregates": [
{
"action": "Point Started",
"actionId": 1101,
"actionAggregate": 10,
"subActionAggregates": []
},
{
"action": "Point Scored",
"actionId": 1102,
"actionAggregate": 11,
"subActionAggregates": []
},
{
"action": "Swap Serve",
"actionId": 1103,
"actionAggregate": 4,
"subActionAggregates": []
},
{
"action": "Game Point",
"actionId": 1105,
"actionAggregate": 3,
"subActionAggregates": []
}
]
}
],
"playerActionAggregates": []
},
{
"team": {
"id": "e02e8cbb-7149-4f72-b69a-7896d06d390b",
"name": "SIM_V2 - YILMAZ Ozge/HARAC Ece",
"homeTeam": false
},
"gameActionAggregates": [
{
"action": "Point Started",
"actionId": 1101,
"actionAggregate": 50,
"subActionAggregates": []
},
{
"action": "Point Scored",
"actionId": 1102,
"actionAggregate": 48,
"subActionAggregates": []
},
{
"action": "Swap Serve",
"actionId": 1103,
"actionAggregate": 25,
"subActionAggregates": []
},
{
"action": "Game Point",
"actionId": 1105,
"actionAggregate": 2,
"subActionAggregates": []
}
],
"periodActionAggregates": [
{
"type": "Regular",
"label": "5th Set",
"period": 5,
"aggregates": [
{
"action": "Point Started",
"actionId": 1101,
"actionAggregate": 10,
"subActionAggregates": []
},
{
"action": "Point Scored",
"actionId": 1102,
"actionAggregate": 7,
"subActionAggregates": []
},
{
"action": "Swap Serve",
"actionId": 1103,
"actionAggregate": 4,
"subActionAggregates": []
}
]
},
{
"type": "Regular",
"label": "1st Set",
"period": 1,
"aggregates": [
{
"action": "Point Started",
"actionId": 1101,
"actionAggregate": 9,
"subActionAggregates": []
},
{
"action": "Point Scored",
"actionId": 1102,
"actionAggregate": 11,
"subActionAggregates": []
},
{
"action": "Swap Serve",
"actionId": 1103,
"actionAggregate": 4,
"subActionAggregates": []
},
{
"action": "Game Point",
"actionId": 1105,
"actionAggregate": 1,
"subActionAggregates": []
}
]
},
{
"type": "Regular",
"label": "4th Set",
"period": 4,
"aggregates": [
{
"action": "Point Scored",
"actionId": 1102,
"actionAggregate": 9,
"subActionAggregates": []
},
{
"action": "Swap Serve",
"actionId": 1103,
"actionAggregate": 6,
"subActionAggregates": []
},
{
"action": "Point Started",
"actionId": 1101,
"actionAggregate": 10,
"subActionAggregates": []
}
]
},
{
"type": "Regular",
"label": "3rd Set",
"period": 3,
"aggregates": [
{
"action": "Point Started",
"actionId": 1101,
"actionAggregate": 11,
"subActionAggregates": []
},
{
"action": "Point Scored",
"actionId": 1102,
"actionAggregate": 12,
"subActionAggregates": []
},
{
"action": "Swap Serve",
"actionId": 1103,
"actionAggregate": 5,
"subActionAggregates": []
},
{
"action": "Game Point",
"actionId": 1105,
"actionAggregate": 1,
"subActionAggregates": []
}
]
},
{
"type": "Regular",
"label": "2nd Set",
"period": 2,
"aggregates": [
{
"action": "Point Scored",
"actionId": 1102,
"actionAggregate": 9,
"subActionAggregates": []
},
{
"action": "Swap Serve",
"actionId": 1103,
"actionAggregate": 6,
"subActionAggregates": []
},
{
"action": "Point Started",
"actionId": 1101,
"actionAggregate": 10,
"subActionAggregates": []
}
]
}
],
"playerActionAggregates": []
}
]
}Authentication
We don't look at the header for websockets. Instead we expect the client to push through that auth message immediately on connecting in the following format.
Request limits
IMG Arena monitors customer traffic to ensure it follows guidelines and isn't excessive. We recommend a request rate of 5 per second and encourage staying connected to websockets instead of repeated re-connections.
Response Fields
seqNum integer
The sequence number
traceId uuid
Tracing Id for logs
version integer
The version number
finished boolean
Whether the match has finished or not
Values are true or false
fixtureId uuid
The unique id of the match
timestamp timestamp
The timestamp of the file and it's usually the time the latest action update has happened
teamActionAggregates teamActionAggregates []
Aggregated player action statistics
advancedSportStatistics advancedSportStatistics []
Aggregated team sports statistics
The following data points are aggregated and returned in the statistics feed. These statistics are returned at game and period level.
Point started
The aggregation of point started packets for player
Point Scored
The aggregation of point scored packets for player
Swap serve
The aggregation of swap serve
Game point
The aggregation of game point
Match point
The aggregation of match point
Last updated
Was this helpful?