Built on TheSportsDB v2
Atlas

The data atlas.

Five entity hubs. Stable integer IDs. Every endpoint is one of these.

Entities

  • League — /lookup/league/{idLeague} (47 fields) and /all/leagues (1,474 rows)
  • Season — /list/seasons/{idLeague} (67 NBA rows)
  • Team — /lookup/team/{idTeam} (64 fields) and /list/teams/{idLeague} (30 NBA rows)
  • Player — /lookup/player/{idPlayer} (69 fields), plus milestones, honours, contracts sub-resources
  • Event — /lookup/event/{idEvent} (47 fields) and /schedule/league/{idLeague}/{season} (1,388 NBA 24-25 rows)
  • Livescore — /livescore/basketball (44 rows at pull time)

Joins

idLeague binds League, Team, Season list and Event. idTeam binds Team detail, Roster, Player, Event home/away and Livescore. idPlayer binds Player detail, Milestones, Honours, Contracts and Roster. idEvent binds Schedule, Event and Livescore. strSeason like 2024-2025 is the bridge between League and Schedule.

Endpoints that returned empty

For the sample IDs we tried, /lookup/player_results, /lookup/player_former_teams, /lookup/event_lineup, /lookup/event_stats and /lookup/event_results all returned no rows. The endpoints exist, the data simply isn't populated for those IDs. Worth retrying against fresher EuroLeague or NCAA IDs.