Playbook Board
Endpoint Map
Mapping of 131 NBA API endpoints to database tables
Endpoint Map
nbadb extracts from 131 nba_api endpoints and normalizes them into 141 star tables/views across dimensions, facts, bridges, aggregates, and analytics outputs.
Coverage cue: Read each family top to bottom: endpoint first, result set second, target table third. That order tells you where a question should start and where it lands.
This page is the source-coverage overlay for the warehouse. Use it when you know the inbound feed or endpoint family; switch to Table Lineage when you need the full possession chain through raw and staging layers.
Quick navigation
Start with box scores
Jump to Box score endpoints when the issue lives in the player-game or team-game stat families.
Check game flow feeds
Use Play-by-play endpoints or Schedule & scoreboard endpoints when the question is about events, game headers, or live-state coverage.
Inspect broader warehouse families
Go to League-wide endpoints or Draft endpoints when the source is not tied to a single game.
Check what stays out
Open Skipped endpoints when you need to confirm why a feed is not represented on the board.
Read the board in three passes
| Pass | What to scan first | Why it helps |
|---|---|---|
| 1. Endpoint family | The section heading that matches your nba_api surface | It narrows the search before you read result-set names or table names |
| 2. Result set | The middle column in each table | It tells you which payload slice actually lands, especially on multi-result endpoints |
| 3. Target table | The warehouse output column | It tells you whether to switch next to diagrams, lineage, or schema reference |
Coverage families in one glance
| Family | Count | Start here when… |
|---|---|---|
| Box score | 10 | The question is about per-game player/team stat splits |
| Play-by-play | 3 | You need event streams, available video flags, or win-probability data |
| Game logs | 3 | You are tracing season log-style tables rather than event-level feeds |
| Player | 7 | The issue is identity, profile, awards, streaks, or career history |
| Team | 6 | The source concerns franchise, roster, coach, or team history context |
| Schedule & scoreboard | 3 | The problem starts with game headers, line scores, or schedule coverage |
| League-wide | 8 | The source is cross-league rather than game-specific |
| Draft | 7 | The feed belongs to draft history or combine workflows |
| Shot chart | 2 | The question is about location-level shooting data |
| Other | 6 | The feed sits outside the main family buckets |
| Skipped | 8 | You need the exclusion rationale for deprecated or redundant feeds |
Box score endpoints
| Endpoint | Result Sets | Target Tables |
|---|---|---|
| BoxScoreTraditionalV3 | PlayerStats, TeamStats | fact_box_score_player, fact_box_score_team |
| BoxScoreAdvancedV3 | PlayerStats, TeamStats | fact_box_score_advanced_player, fact_box_score_advanced_team |
| BoxScoreDefensiveV2 | PlayerStats | fact_box_score_defensive |
| BoxScoreFourFactorsV3 | PlayerStats, TeamStats | fact_box_score_four_factors |
| BoxScoreHustleV2 | PlayerStats, TeamStats | fact_box_score_hustle |
| BoxScoreMiscV3 | PlayerStats, TeamStats | fact_box_score_misc |
| BoxScorePlayerTrackV3 | PlayerStats, TeamStats | fact_box_score_player_track |
| BoxScoreScoringV3 | PlayerStats, TeamStats | fact_box_score_scoring |
| BoxScoreUsageV3 | PlayerStats, TeamStats | fact_box_score_usage |
| BoxScoreMatchupsV3 | PlayerStats | fact_matchup |
Play-by-play endpoints
| Endpoint | Result Sets | Target Tables |
|---|---|---|
| PlayByPlayV3 | PlayByPlay | fact_play_by_play |
| PlayByPlayV2 | PlayByPlay, AvailableVideo | fact_play_by_play_v2 |
| WinProbabilityPBP | WinProbPBP, GameInfo | fact_win_probability |
Game log endpoints
| Endpoint | Result Sets | Target Tables |
|---|---|---|
| LeagueGameLog | LeagueGameLog | fact_game_log |
| PlayerGameLog | PlayerGameLog | fact_player_game_log |
| TeamGameLog | TeamGameLog | fact_team_game_log |
Player endpoints
| Endpoint | Result Sets | Target Tables |
|---|---|---|
| CommonAllPlayers | CommonAllPlayers | dim_player (staging) |
| PlayerIndex | PlayerIndex | dim_player (staging) |
| CommonPlayerInfo | CommonPlayerInfo, PlayerHeadlineStats | dim_player |
| PlayerCareerStats | SeasonTotals (Reg/Post/AllStar) | fact_player_career |
| PlayerAwards | PlayerAwards | fact_player_awards |
| PlayerDashboardByYearOverYear | OverallPlayerDashboard | fact_player_dashboard_yoy_overall |
| PlayerGameStreakFinder | PlayerGameStreakFinderResults | fact_player_streaks |
Team endpoints
| Endpoint | Result Sets | Target Tables |
|---|---|---|
| CommonTeamYears | TeamYears | dim_team (staging) |
| TeamInfoCommon | TeamInfoCommon, TeamSeasonRanks | dim_team |
| TeamDetails | TeamBackground, TeamHistory | dim_team, fact_franchise_history |
| CommonTeamRoster | CommonTeamRoster, Coaches | dim_player, dim_coach |
| FranchiseHistory | FranchiseHistory, DefunctTeams | fact_franchise_history |
| TeamYearByYearStats | TeamStats | fact_team_historical |
Schedule & scoreboard endpoints
| Endpoint | Result Sets | Target Tables |
|---|---|---|
| ScheduleLeagueV2 | ScheduleLeagueV2 | dim_game |
| ScoreboardV2 | GameHeader, LineScore, SeriesStandings | dim_game, fact_line_score |
| LeagueGameFinder | LeagueGameFinderResults | fact_game_finder |
League-wide endpoints
| Endpoint | Result Sets | Target Tables |
|---|---|---|
| LeagueDashPlayerStats | LeagueDashPlayerStats | fact_league_dash_player_stats |
| LeagueDashTeamStats | LeagueDashTeamStats | fact_league_dash_team_stats |
| LeagueStandingsV3 | Standings | fact_standings |
| SynergyPlayTypes | SynergyPlayType | fact_synergy |
| LeagueSeasonMatchups | SeasonMatchups | fact_season_matchups |
| LeagueDashLineups | Lineups | fact_lineups |
| LeagueLeaders | LeagueLeaders | fact_league_leaders_detail |
| AllTimeLeadersGrids | Various | agg_all_time_leaders |
Draft endpoints
| Endpoint | Result Sets | Target Tables |
|---|---|---|
| DraftHistory | DraftHistory | fact_draft, dim_draft |
| DraftBoard | DraftBoard | fact_draft_board |
| DraftCombineStats | DraftCombineStats | fact_draft_combine |
| DraftCombineDrillResults | Results | fact_draft_combine_drills |
| DraftCombineSpotShooting | Results | fact_draft_combine_shooting |
| DraftCombineNonStationaryShooting | Results | fact_draft_combine_shooting |
| DraftCombinePlayerAnthro | Results | fact_draft_combine_anthro |
Shot chart endpoints
| Endpoint | Result Sets | Target Tables |
|---|---|---|
| ShotChartDetail | Shot_Chart_Detail | fact_shot_chart |
| ShotChartLeagueWide | League_Wide | fact_shot_chart_league |
Other endpoints
| Endpoint | Result Sets | Target Tables |
|---|---|---|
| GameRotation | HomeTeam, AwayTeam | fact_rotation |
| HustleStatsBoxScore | PlayerStats, TeamStats | fact_box_score_hustle |
| PlayerEstimatedMetrics | PlayerEstimatedMetrics | fact_player_estimated_metrics |
| TeamEstimatedMetrics | TeamEstimatedMetrics | fact_team_estimated_metrics |
| BoxScoreSummaryV2 | GameSummary, OtherStats, Officials | dim_game, bridge_game_official |
| InfographicFanDuelPlayer | FanDuelPlayer | fact_fanduel |
Skipped endpoints
These endpoints are excluded due to deprecation, instability, or redundancy:
- VideoDetails (deprecated)
- VideoStatus (deprecated)
- VideoEventsAsset (auth required)
- PlayerCompare (redundant with dashboards)
- LeagueDashPtStats (merged into tracking)
- LeagueDashOppPtShot (merged into tracking)
- LeagueDashPtDefend (merged into tracking)
- LeagueDashPtTeamDefend (merged into tracking)
Next steps from endpoint map
See where these tables live on the floor
Open ER Diagram when the coverage board tells you which table matters and you now need the warehouse context around that table's joins and neighbors.
Follow one feed through the playbook
Continue to Pipeline Flow when the problem is not coverage but stage movement: validation checkpoints, DuckDB staging, transform fan-out, and export.
Trace the exact downstream possession chain
Move to Table Lineage or Column Lineage when you need to follow one table or field from endpoint touch to final analytical surface.
Keep moving
Stay in the same possession
Keep the mental model warm with adjacent pages, section hubs, and search-friendly routes into the same topic cluster.