statshawk
REST APITeams

`GET /v1/teams` — the team index, filtered by sport / competition / team

trait and paged. Store-only: a flat table read scoped by the resolved filter, never a provider fan-out.

cost 1 unitany plan
GET
/v1/teams

trait and paged. Store-only: a flat table read scoped by the resolved filter, never a provider fan-out.

X-API-Key<token>

In: header

Query Parameters

sport?string

Restrict to one sport (basketball, soccer, …).

Value in"basketball" | "football" | "baseball" | "hockey" | "soccer" | "golf" | "tennis" | "racing" | "mma" | "lacrosse" | "rugby" | "volleyball" | "australian_football" | "rugby_league" | "water_polo" | "field_hockey"
competition?|

Restrict to teams that played in the competition with this slug.

traits?array<>

Restrict to teams carrying these typed traits (kind:value, comma-separated).

limit?|

Rows per page (default 50, capped at 200).

Formatint64
offset?|

Rows to skip (default 0).

Formatint64

Response Body

application/json

application/json

curl -X GET "https://example.com/v1/teams"
{
  "data": {
    "items": [
      {
        "home_competition": "comp_0a1b2c3d4e5f6g7h8i9j0k1l2m",
        "id": "team_0a1b2c3d4e5f6g7h8i9j0k1l2m",
        "name": "string",
        "sport": "basketball",
        "traits": [
          {
            "country": "BRA",
            "kind": "represents_country"
          }
        ]
      }
    ],
    "page": 0,
    "per_page": 0,
    "total": 0
  },
  "meta": {
    "cache": "HIT",
    "fetched_at": "2025-10-15T18:30:00Z",
    "request_id": "266ea41d-adf5-480b-af50-15b940c2b846",
    "source": "postgres",
    "version": "v1"
  }
}
{
  "error": {
    "code": "string",
    "message": "string",
    "property1": null,
    "property2": null
  }
}