APIInsights
Generate player insights
Starts the same run as generating team insights: the team summary and every rostered player, including this one. Returns immediately with status generating. Poll the GET until status is ready.
POST
/v1/matches/{matchId}/player-insights/{playerId}curl -X POST "https://api.superstatsport.com/v1/matches/3fa85f64-5717-4562-b3fc-2c963f66afa6/player-insights/3fa85f64-5717-4562-b3fc-2c963f66afa6" \
-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
playerIdstring<uuid>pathrequiredPlayer id from the team roster.
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
}