{"id":1377,"url":"https://github.com/JovaniPink/awesome-nba-data","name":"awesome-nba-data","description":"Curated NBA data sources, APIs, analytics tools, learning resources, and metric explainers.","projects_count":45,"last_synced_at":"2026-08-30T15:00:23.996Z","repository":{"id":101823074,"uuid":"324619194","full_name":"JovaniPink/awesome-nba-data","owner":"JovaniPink","description":"Curated NBA data sources, APIs, analytics tools, learning resources, and metric explainers.","archived":false,"fork":false,"pushed_at":"2026-08-14T01:18:55.000Z","size":44,"stargazers_count":35,"open_issues_count":1,"forks_count":5,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-08-27T06:13:44.249Z","etag":null,"topics":["awesome-list","basketball","datasets","nba","nba-data","open-data","sports-analytics"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JovaniPink.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"contributing.md","funding":null,"license":"LICENSE","code_of_conduct":"code-of-conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-12-26T19:11:46.000Z","updated_at":"2026-08-26T23:42:24.000Z","dependencies_parsed_at":"2024-01-07T01:28:38.925Z","dependency_job_id":"60a48f8a-eb0e-47f6-9f19-b48285233873","html_url":"https://github.com/JovaniPink/awesome-nba-data","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JovaniPink/awesome-nba-data","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JovaniPink%2Fawesome-nba-data","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JovaniPink%2Fawesome-nba-data/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JovaniPink%2Fawesome-nba-data/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JovaniPink%2Fawesome-nba-data/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JovaniPink","download_url":"https://codeload.github.com/JovaniPink/awesome-nba-data/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JovaniPink%2Fawesome-nba-data/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36986106,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-30T02:00:08.400Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"created_at":"2024-01-04T17:50:06.864Z","updated_at":"2026-08-30T15:00:23.997Z","primary_language":null,"list_of_lists":false,"displayable":true,"categories":["Data Analysis Libraries \u0026 Tools","Official \u0026 League Data","Official Sites","NBA Analysis and Stats Sites","Analytics \u0026 Advanced Metrics Sites","Legacy / Archived (still useful)","YouTube Channels","Advanced Stats Explained","APIs \u0026 Open Data","YouTube \u0026 Learning","Licensed Production Feeds"],"sub_categories":[],"readme":"# Awesome NBA Data \u0026 Stats [![Awesome](https://awesome.re/badge.svg)](https://awesome.re)\n\n\u003e A curated list of up-to-date NBA data sources, analytics sites, APIs, tools, and explainers. Each item includes a short description and a reliable URL.\n\nCatalog structure reviewed: August 2026.\n\nCatalog entries present on August 13, 2026, were reviewed on that date. Later additions carry\ntheir own `reviewed_at` dates in the dated [source audit](docs/source-audit.tsv), which records URL\nbehavior and access classification. The [source matrix](docs/source-matrix.md) keeps programmatic\ncoverage and use constraints separate from link availability. A responding URL is not permission\nto collect, store, model, or republish its data.\n\n## Contents\n\n- [Official \u0026 League Data](#official--league-data)\n- [Analytics \u0026 Advanced Metrics Sites](#analytics--advanced-metrics-sites)\n- [APIs \u0026 Open Data](#apis--open-data)\n- [Licensed Production Feeds](#licensed-production-feeds)\n- [YouTube \u0026 Learning](#youtube--learning)\n- [Data Analysis Libraries \u0026 Tools](#data-analysis-libraries--tools)\n- [Advanced Stats Explained](#advanced-stats-explained)\n- [Legacy / Archived (still useful)](#legacy--archived-still-useful)\n\n---\n\n## Official \u0026 League Data\n\nAbout this section: Official league-operated sites. Best sources for box scores, play-by-play, tracking summaries, rules/officiating and press releases.\n\n- [NBA.com](https://www.nba.com/) - Official league site for scores, schedules, standings, news, and video; use remains subject to NBA terms.\n- [NBA Stats (stats.nba.com)](https://www.nba.com/stats/) - Official stats portal for box scores, play-by-play, shooting, tracking summaries, lineups, and Hustle data; it is not a published bulk-data license.\n- [NBA Official (Officiating Hub)](https://official.nba.com/) - Official rulebook, Coach's Challenge, and Last Two Minute report hub.\n- [NBA Communications](https://pr.nba.com/) - Official press releases for transactions, awards, schedule changes, and league announcements.\n- [NBA Injury Report: 2025-26 Season](https://official.nba.com/nba-injury-report-2025-26-season/) - Official, season-specific reports containing participation statuses and stated reasons that teams update throughout reporting windows; this changing web reference is not a historical bulk-data API.\n- [NBA Player Transactions](https://www.nba.com/players/transactions) - Official filterable transaction reference for signings, waivers, trades, and other roster moves; the public page does not establish a documented bulk-data license.\n\n## Analytics \u0026 Advanced Metrics Sites\n\nHigh-signal analytics destinations and dashboards (some paid). Great for impact metrics, lineup analysis, and specialty views.\n\n- [Basketball-Reference](https://www.basketball-reference.com/) - Unofficial historical reference for player, team, season, and game pages; automated reuse is governed by Sports Reference's data-use policy.\n- [Stathead (Sports-Reference)](https://stathead.com/basketball/) - Paid research queries for player, team, game, streak, and split analysis.\n- [ESPN NBA Stats](https://www.espn.com/nba/stats) - Unofficial league-wide player and team leaderboards with sortable tables.\n- [Cleaning the Glass](https://cleaningtheglass.com/) - Paid analytics that filter garbage time and provide team, player, and lineup views.\n- [Dunks \u0026 Threes - EPM](https://dunksandthrees.com/epm) - Derived Estimated Plus-Minus and team-rating leaderboards with a public methodology page.\n- [BBall Index - LEBRON](https://www.bball-index.com/lebron-database/) - Derived role, skill, and LEBRON tooling with a mix of public and paid access.\n- [PBP Stats](https://www.pbpstats.com/) - Derived on-off, WOWY, lineup, and possession views with a subscriber API.\n- [NBAstuffer](https://www.nbastuffer.com/) - Aggregated dashboards, pace/strength-of-schedule, lineup tools, and analytics guides.\n- [Inpredictable](https://www.inpredictable.com/) - Win probability models and tempo/variance research for NBA and other sports.\n- [82Games](https://www.82games.com/) - Lineup, five-player-unit, on/off, physicality, and game-analysis archives with current-season research.\n- [Crafted NBA](https://craftednba.com/) - Player/team dashboards and meta-metrics (DARKO, DRIP, LEBRON, RAPTOR, CraftedPM), comparisons, and roles.\n- [NBA RAPM (nbarapm.com)](https://www.nbarapm.com/) - Career and rolling **RAPM** plus cross-metric peak summaries.\n\n## APIs \u0026 Open Data\n\nProgrammatic discovery and research tools. An open client or reachable endpoint does not grant\nrights to the upstream data.\n\n- [nba_api](https://github.com/swar/nba_api) - Unofficial MIT-licensed Python client for NBA.com endpoints; upstream schemas and endpoints change without a public stability contract.\n- [hoopR](https://hoopr.sportsdataverse.org/) - Open-source R package and bulk loaders for men's basketball data, including NBA play-by-play releases from 2002 onward.\n- [sportsdataverse-py](https://py.sportsdataverse.org/) - Open-source Python package for NBA schedules, play-by-play, box scores, rosters, and related source wrappers.\n- [pbpstats](https://github.com/dblackrun/pbpstats) - Open-source parser that derives possessions, lineups, and shot-zone context from NBA, WNBA, and G League play-by-play.\n- [PBP Stats API Docs](https://api.pbpstats.com/docs) - Paid API documentation for derived possession, lineup, on-off, and WOWY data.\n- [BALLDONTLIE NBA API](https://docs.balldontlie.io/) - API-key service with free teams, players, and games; statistics, play-by-play, lineups, injuries, and odds require paid tiers.\n- [Kaggle - NBA Datasets](https://www.kaggle.com/search?q=NBA+dataset) - Community dataset index where provenance, license, coverage, and correction behavior must be checked per dataset.\n\n## Licensed Production Feeds\n\nCommercial feeds whose contract, purchased products, and approved purpose determine permitted use.\n\n- [Sportradar NBA API](https://developer.sportradar.com/basketball/docs/nba-ig-api-basics) - Licensed B2B NBA feeds with schedules, rosters, statistics, play-by-play, change logs, and provider identifiers.\n- [SportsDataIO NBA API](https://sportsdata.io/developers/api-documentation/nba) - Commercial NBA feeds for scores, statistics, play-by-play, injuries, projections, and betting data with subscription-specific access.\n\n## YouTube \u0026 Learning\n\n- [Thinking Basketball](https://www.youtube.com/ThinkingBasketball) - Film + stats breakdowns, metric explainers, historical series.\n- [The Athletic (NBA)](https://www.youtube.com/channel/UCCl9GMgbh3IbMwyMcU3YLjA) - Reporting and analysis.\n- [Hoops Tonight](https://www.youtube.com/channel/UCw8h_jH2gB20wcZTJiaQNCA) - Analytics, history, and film breakdowns.\n\n## Data Analysis Libraries \u0026 Tools\n\n- [Polars](https://pola.rs/) - Open-source DataFrame engine suited to typed, lazy transformations over Parquet and other analytical formats.\n- [DuckDB](https://duckdb.org/) - Open-source analytical database for local SQL over Parquet and reproducible research snapshots.\n- [Basketball Reference Web Scraper](https://github.com/jaebradley/basketball_reference_web_scraper) - Unofficial Python scraper retained for legacy research; Sports Reference policy review is required before automated use.\n\n## Advanced Stats Explained\n\n- [PER - Player Efficiency Rating](https://en.wikipedia.org/wiki/Player_efficiency_rating) - Overview of John Hollinger's pace-adjusted box-score summary metric.\n- [Win Shares](https://www.basketball-reference.com/about/ws.html) - Basketball-Reference methodology for allocating estimated team wins to players.\n- [VORP - Value Over Replacement Player](https://en.wikipedia.org/wiki/Value_over_replacement_player) - Overview of the box-score estimate of points contributed relative to a replacement player.\n- [BPM - Box Plus/Minus](https://www.basketball-reference.com/about/bpm2.html) - Basketball-Reference methodology for estimating player contribution per 100 possessions from box-score data.\n- [TS% - True Shooting Percentage](https://en.wikipedia.org/wiki/True_shooting_percentage) - Overview of scoring efficiency that incorporates field goals, three-pointers, and free throws.\n- [eFG% - Effective Field Goal Percentage](https://www.breakthroughbasketball.com/stats/effective-field-goal-percentage.html) - Explanation of field-goal percentage adjusted for the added value of three-pointers.\n- [Net Rating](https://www.bball-index.com/is-net-rating-still-king/) - Discussion of team or lineup point differential per 100 possessions and its limitations.\n- [RAPTOR - Intro and Method](https://fivethirtyeight.com/features/introducing-raptor-our-new-metric-for-the-modern-nba/) - Archived FiveThirtyEight explainer for its historical player-impact model.\n- [EPM - Estimated Plus-Minus Methodology](https://dunksandthrees.com/about/epm) - Dunks \u0026 Threes methodology for its player-impact estimate.\n- [LEBRON - Metric Introduction](https://www.bball-index.com/lebron-introduction/) - Basketball Index introduction to its player-impact metric and design goals.\n\n## Legacy / Archived (still useful)\n\nHistorical or lower-activity resources - good references, but not always current.\n\n- [FiveThirtyEight NBA](https://fivethirtyeight.com/tag/nba/) - NBA coverage largely archived; RAPTOR explainer still valuable.\n- [Back Picks](https://backpicks.com/) - Ben Taylor's long-form analytics pieces and historical series.\n\n---\n\n## Contributing\n\nSpotted a dead link, better mirror, or a new high-signal resource? Pull requests are welcome. Keep\nadditions current, specific, and non-promotional; see [contributing.md](contributing.md).\n\nBefore opening a pull request, run the dependency-free catalog gate with Python 3.11 or newer:\n\n```sh\npython3 -m unittest discover -s tests -v\npython3 scripts/validate_readme.py README.md\n```\n\nGitHub Actions runs the same checks on Python 3.11 and Python 3.14 for every pull request and push to\n`main`. The validator checks Contents order and anchors, required files, relative links, unique HTTPS\nresource URLs, entry formatting, and exact coverage in the dated source audit. A passing result does\nnot prove permission, maintenance quality, or fit for a particular use; those require the source\nmatrix and an explicit terms review.\n","projects_url":"https://awesome.ecosyste.ms/api/v1/lists/jovanipink%2Fawesome-nba-data/projects"}