INDEPENDENT DEVELOPER REFERENCE
NBA points props data for developers
Pair NBA Points rows from Pick6 with ESPN player points from the statistics API, and see where the join and the history stop.
Editorial review: · Not a live coverage report
Two datasets, two meanings
NBA points data lives in two places here. Pick6 rows hold a target and standings multipliers. The statistics API holds what a player recorded, from ESPN. Neither one contains the other, and neither is a sportsbook price.
| Question | Endpoint | Field |
|---|---|---|
| What target was recorded? | /api/v1/pick6/projections?sport=NBA&stat=Points | target_value |
| How did the row change? | /api/v1/pick6/history?sport=NBA&stat=Points | target_value and previous |
| What did the player score? | /api/v1/stats/player-games?sport=NBA&season=2027 | Stat with key equal to points |
As of 2026-11-03, native sportsbook scopes cover New York NFL, NHL, college basketball and college football game lines and New York NHL Shots on Goal, points, assists, saves, goalscorers, power-play points and first-period shots. Read snapshots and streamed changes through the sportsbook endpoints. ESPN-attributed DraftKings moneyline, spread and total observations are also available across eight leagues. Current scope inventory is listed at /api/v1/sportsbook/scopes.
Read the Points rows
Filter on stat=Points, and expect several rows per athlete. Check stale before you treat any row as current, since NBA captures are not always fresh.
curl --fail-with-body "https://draftkingsapi.com/api/v1/pick6/projections?sport=NBA&stat=Points&limit=25" \
-H "Authorization: Bearer $DRAFTKINGS_API_KEY"Read points from a box score
Each ESPN row holds a stats array. Find the entry with key equal to points and read numeric. Values such as field goals display as 1-3 and have a null numeric, so they stay display-only.
def points(row):
for stat in row["data"]["stats"]:
if stat["key"] == "points" and stat["scope"] == "game":
return stat["numeric"] # None when no scalar exists
return NoneRows also report did_not_play and starter. A missing points value on a did-not-play row is not a zero. Treat it as no game for that player.
Why the two do not join by themselves
Pick6 identifies an athlete with entity_id. ESPN uses athlete_id. No mapping between them is supplied, and the API does not infer one from names. If you match on names, you own that matching and its errors.
- Build a table of
entity_id,athlete_id, the matched name, and how you verified it. - Require an exact name match within the same team and game date.
- Send ambiguous names to manual review instead of guessing.
Games have the same split. Pick6 event IDs differ from ESPN event IDs, so match games on date and teams after you have reviewed them.
What this sample can and cannot show
Independent ESPN statistics cover NBA, NFL and NHL as limited retained game samples, not full seasons. As of 2026-11-03 those samples were captured after the games were played, so they do not show what was known at game time.
Recording began around 2026-11-03. Retained history is short, and it is not a complete opening-to-close archive. It does not contain seasons of past lines, and there is no public graded-results endpoint.
A recorded NBA Points row and a later box score can give you an honest small sample to inspect. They cannot support a hit rate presented as a long-run edge. For that sample, report the count and the date range next to any number, and read the coverage report first.
There is also no public grading endpoint, so compare target and result yourself, and make your own rules for pushes, inactive players and in-game rows.
Live scores are a separate clock
live_stat_value on a Pick6 row is the source's in-game statistic at capture, stamped by live_stat_updated_at. It can change after the row was captured, and it is not a final box score. Use completed games from the statistics API for finished values: add completed=true.
curl --fail-with-body "https://draftkingsapi.com/api/v1/stats/player-games?sport=NBA&season=2027&completed=true&limit=50" \
-H "Authorization: Bearer $DRAFTKINGS_API_KEY"Try it
Pull a page of box scores and read the points entry from each row.
python3 player-game-log.py --sport NBA --season 2027 --stat points --max-pages 1Check the recorded data
Questions
Can I get NBA points props as sportsbook odds?
As of 2026-11-03, native sportsbook scopes cover New York NFL, NHL, college basketball and college football game lines and New York NHL Shots on Goal, points, assists, saves, goalscorers, power-play points and first-period shots. Read snapshots and streamed changes through the sportsbook endpoints. ESPN-attributed DraftKings moneyline, spread and total observations are also available across eight leagues. Current scope inventory is listed at /api/v1/sportsbook/scopes.
How do I connect a Pick6 Points row to a player's box score?
No key mapping is supplied. Pick6 uses entity_id and ESPN uses athlete_id. Build your own verified mapping using name, team and game date, and review ambiguous matches by hand.
Can I compute a season hit rate for NBA Points?
Not from this data today. Line recording began around 2026-11-03 and box scores are limited samples, so any rate covers a small window. Report it with its count and dates, not as a long-run figure.
Related resources
Query recorded NBA Pick6 rows, check capture age first, read More and Less selections and handle live, paused and alternative targets.
NBA game logs API for player statisticsBuild an NBA player game log from retained ESPN box scores: season years, stat keys, cursor pagination and why you must sort rows yourself.
Build a baseline NBA points prop modelBuild a chronological NBA points baseline from recorded box scores, score it on later games and compare with Pick6 targets you recorded yourself.
Does the API return graded prop results?No. There is no public grading endpoint. Game phase is not settlement, and you must apply your own rules to compare targets and results.
Independent service operated by DD Inc., not affiliated with or endorsed by DraftKings. Technical access is not a redistribution license. No wagering: this service does not place, recommend or settle entries or bets. Check sources and status for actual capture context.