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.
Try itGet a free key
https://api.basketballapi.net/v1/teams/tm_249FP072/seasons?competition=cp_11A6HQXJYour 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"
import requests
r = requests.get("https://api.basketballapi.net/v1/teams/tm_249FP072/seasons?competition=cp_11A6HQXJ",
headers={"Authorization": "Bearer bba_live_your_key"})
print(r.json()["data"])
const r = await fetch("https://api.basketballapi.net/v1/teams/tm_249FP072/seasons?competition=cp_11A6HQXJ", {
headers: { Authorization: "Bearer bba_live_your_key" }
});
const { data } = await r.json();
$ctx = stream_context_create(['http' => [
'header' => "Authorization: Bearer bba_live_your_key",
]]);
$r = json_decode(file_get_contents("https://api.basketballapi.net/v1/teams/tm_249FP072/seasons?competition=cp_11A6HQXJ", false, $ctx), true);
Parameters
| Name | Type | About |
|---|---|---|
id required | id | The team, by its id (tm_…). e.g. tm_249FP072 |
competition | id | Only this competition, by its id (cp_…). e.g. cp_11A6HQXJ |
What comes back
data is one of these:
| Field | Type | About |
|---|---|---|
team | object | |
team.id | id | A team id. |
team.name | string | |
seasons | array 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.