Overview
Read your club's teams, matches, box scores and insights with an API key.
The Superstat API gives your club the same match data you see in the app: clubs, teams, rosters, matches, box scores, play-by-play events and insights. Every club can use it. There is nothing to enable and no extra charge.
Reads are available on every route. The one thing you can ask the API to produce is insights: POST the insights URL for a completed match and poll until they are ready. You do not need to open the Superstat app first.
Base URL
All requests go to https://api.superstatsport.com/v1. Paths in the API reference are shown in full.
Authentication
Every request needs a club API key sent as a bearer token. Create a key in the Superstat app under Settings → API keys, then:
curl https://api.superstatsport.com/v1/clubs \ -H "Authorization: Bearer ss_live_your_secret"Response envelope
Every response, success or failure, is a JSON object with data and error. Exactly one of them is set.
{
"data": { "id": "…", "name": "Northside Basketball Club" },
"error": null
}{
"data": null,
"error": { "code": "NOT_FOUND", "message": "Match not found." }
}See Errors for the codes.
A typical integration
GET /v1/clubsreturns the club your key belongs to.GET /v1/clubs/{clubId}/teamslists its teams.GET /v1/teams/{teamId}/matcheslists a team's matches with scores and status.GET /v1/matches/{matchId}/box-scoregives per-player and team totals for a match, already summed.GET /v1/matches/{matchId}/insightsreturns the written insights for that match. Ifstatusisnot_generated,POSTthe same URL and poll the GET untilstatusisready.
Read Concepts first: it explains how a match is described from your team's point of view, what a court position means, and how insight generation works.
Not included
Studio, reports, highlights and video URLs are not part of this API.