APIInsights
Generate team insights
Writes the team insights and every rostered player’s insights for this match. Returns immediately with status generating; poll the GET until status is ready. Usually takes one to two minutes. Does nothing if insights are already up to date, unless regenerate is true. A match that is not complete returns status unavailable.
POST
/v1/matches/{matchId}/insightscurl -X POST "https://api.superstatsport.com/v1/matches/3fa85f64-5717-4562-b3fc-2c963f66afa6/insights" \
-H "Authorization: Bearer $SUPERSTAT_API_KEY"Authorization
AuthorizationstringheaderrequiredClub API key, for example
ss_live_…. Create one in the Superstat app under Settings → API keys.
Parameters
matchIdstring<uuid>pathrequiredMatch id.
regenerateenum<string>queryPass true to write the insights again even when they are already up to date.
One of:truefalse
Response
application/json
Success
dataMatchInsightsrequirederrorobject | nullrequired
{
"data": {
"status": "ready",
"message": "Insights are up to date.",
"stale": false,
"recordedBy": "team",
"summary": {
"whatsWorking": [
"Paint touches created open threes."
],
"focusAreas": [
"Live-ball turnovers came in transition."
],
"suggestions": [
"Run the drag screen earlier in the shot clock."
]
},
"ratings": {
"shotMix": {
"value": 42,
"comment": "More of the offence came from the paint."
},
"pointsPerShot": {
"value": 42,
"comment": "More of the offence came from the paint."
},
"assistRate": {
"value": 42,
"comment": "More of the offence came from the paint."
},
"turnovers": {
"value": 42,
"comment": "More of the offence came from the paint."
},
"rebounds": {
"value": 42,
"comment": "More of the offence came from the paint."
},
"defensiveImpact": {
"value": 42,
"comment": "More of the offence came from the paint."
}
},
"generatedAt": "2026-03-14T07:02:11.000Z"
},
"error": null
}