basketballapi.net

Documentation / Reference

Team seasons

A team's every season and competition: its record, rank, per-game figures and four factors, regular season and postseason apart.

GEThttps://api.basketballapi.net/v1/teams/{id}/seasons
https://api.basketballapi.net/v1/teams/tm_249FP072/seasons?competition=cp_11A6HQXJ
Your key stays in this browser.
200Example answer, real data, lists cut to three
{
  "data": {
    "team": {
      "id": "tm_249FP072",
      "name": "Paris Basketball"
    },
    "seasons": [
      {
        "competition": {
          "id": "cp_11A6HQXJ",
          "name": "EuroLeague"
        },
        "season": {
          "id": "ss_K1TTWVRM",
          "name": "2026-27"
        },
        "stage": "regular",
        "rank": 19,
        "played": 7,
        "won": 1,
        "lost": 6,
        "win_share": 0.143,
        "league_points": 8,
        "games_behind": 5,
        "points_for": 597,
        "points_against": 649,
        "points_difference": -52,
        "home": "1-4",
        "away": "0-2",
        "last_ten": "1-6",
        "streak": "L4",
        "box_score_games": 7,
        "per_game": {
          "points": 85.3,
          "points_against": 92.7,
          "rebounds": 37,
          "offensive_rebounds": 14.4,
          "defensive_rebounds": 22.6,
          "assists": 20.4,
          "steals": 8.6,
          "blocks": 3.1,
          "turnovers": 14,
          "fouls": 23.3,
          "field_goal_pct": 45.3,
          "three_point_pct": 33.2,
          "free_throw_pct": 67,
          "three_point_attempt_share": 49.1
        },
        "advanced": {
          "possessions_per_game": 76.9,
          "offensive_rating": 110.9,
          "defensive_rating": 120.6,
          "net_rating": -9.7,
          "effective_fg_pct": 53.5,
          "true_shooting_pct": 55.1,
          "turnover_pct": 15.3,
          "offensive_rebound_pct": 35.9,
          "free_throw_rate": 0.175,
          "opponent_effective_fg_pct": 55.8
        }
      },
      {
        "competition": {
          "id": "cp_11A6HQXJ",
          "name": "EuroLeague"
        },
        "season": {
          "id": "ss_0FXEV92D",
          "name": "2025-26"
        },
        "stage": "regular",
        "rank": 16,
        "played": 38,
        "won": 15,
        "lost": 23,
        "win_share": 0.395,
        "league_points": 53,
        "games_behind": 11,
        "points_for": 3422,
        "points_against": 3456,
        "points_difference": -34,
        "home": "8-11",
        "away": "7-12",
        "last_ten": "5-5",
        "streak": "L1",
        "box_score_games": 38,
        "per_game": {
          "points": 90.1,
          "points_against": 90.9,
          "rebounds": 37.3,
          "offensive_rebounds": 13.4,
          "defensive_rebounds": 23.8,
          "assists": 17.5,
          "steals": 7.3,
          "blocks": 3,
          "turnovers": 13.8,
          "fouls": 22.8,
          "field_goal_pct": 45,
          "three_point_pct": 37,
          "free_throw_pct": 75.9,
          "three_point_attempt_share": 47.7
        },
        "advanced": {
          "possessions_per_game": 78.3,
          "offensive_rating": 114.9,
          "defensive_rating": 116.1,
          "net_rating": -1.2,
          "effective_fg_pct": 53.8,
          "true_shooting_pct": 57.6,
          "turnover_pct": 15,
          "offensive_rebound_pct": 34.3,
          "free_throw_rate": 0.303,
          "opponent_effective_fg_pct": 54.6
        }
      },
      {
        "competition": {
          "id": "cp_11A6HQXJ",
          "name": "EuroLeague"
        },
        "season": {
          "id": "ss_VMJG5K0W",
          "name": "2024-25"
        },
        "stage": "regular",
        "rank": 8,
        "played": 34,
        "won": 19,
        "lost": 15,
        "win_share": 0.559,
        "league_points": 53,
        "games_behind": 5,
        "points_for": 2940,
        "points_against": 2910,
        "points_difference": 30,
        "home": "11-6",
        "away": "8-9",
        "last_ten": "5-5",
        "streak": "W1",
        "box_score_games": 34,
        "per_game": {
          "points": 86.5,
          "points_against": 85.6,
          "rebounds": 34.9,
          "offensive_rebounds": 11.8,
          "defensive_rebounds": 23.1,
          "assists": 15.9,
          "steals": 6.6,
          "blocks": 2,
          "turnovers": 10.4,
          "fouls": 21.7,
          "field_goal_pct": 45.9,
          "three_point_pct": 35.3,
          "free_throw_pct": 76.9,
          "three_point_attempt_share": 44.7
        },
        "advanced": {
          "possessions_per_game": 73.8,
          "offensive_rating": 117.1,
          "defensive_rating": 115.9,
          "net_rating": 1.2,
          "effective_fg_pct": 53.8,
          "true_shooting_pct": 57.3,
          "turnover_pct": 12.1,
          "offensive_rebound_pct": 31.5,
          "free_throw_rate": 0.268,
          "opponent_effective_fg_pct": 53.9
        }
      }
    ]
  },
  "meta": { "plan": "Live" }
}
curl "https://api.basketballapi.net/v1/teams/tm_249FP072/seasons?competition=cp_11A6HQXJ" \
  -H "Authorization: Bearer bba_live_your_key"

Parameters

NameTypeAbout
id requiredidThe team, by its id (tm_…). e.g. tm_249FP072
competitionidOnly this competition, by its id (cp_…). e.g. cp_11A6HQXJ

What comes back

data is one of these:

FieldTypeAbout
teamobject
team.ididA team id.
team.namestring
seasonsarray of object

Example answer

The answer under Run is a real answer from today's data, made with the call shown in the code, before you run anything. Run puts your own answer in its place, and Show the example brings this one back.

Errors

400422401403429404

What each code means, and what to do