API

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

  1. GET /v1/clubs returns the club your key belongs to.
  2. GET /v1/clubs/{clubId}/teams lists its teams.
  3. GET /v1/teams/{teamId}/matches lists a team's matches with scores and status.
  4. GET /v1/matches/{matchId}/box-score gives per-player and team totals for a match, already summed.
  5. GET /v1/matches/{matchId}/insights returns the written insights for that match. If status is not_generated, POST the same URL and poll the GET until status is ready.

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.

On this page