draftkings apiDashboard ↗

INDEPENDENT DEVELOPER REFERENCE

NBA Pick6 props API

Query recorded NBA Pick6 rows, check capture age first, read More and Less selections and handle live, paused and alternative targets.

Editorial review: · Not a live coverage report

What the NBA board contains

On 2026-11-03, NBA Pick6 captures contained one stat: Points, abbreviated PTS. Other NBA categories may appear as collection rotates, but do not assume rebounds, assists or threes exist until a query returns them. Treat this list as a dated observation and read status for the current one.

At the same check, every retained NBA row was older than the 15-minute stale window. NBA rows are not always fresh, so test capture age before you build a board on them.

NBA Points rows
curl --fail-with-body "https://draftkingsapi.com/api/v1/pick6/projections?sport=NBA&stat=Points&limit=25" \
  -H "Authorization: Bearer $DRAFTKINGS_API_KEY"

Check capture age before anything else

Each row reports observed_at, age_seconds and stale. stale becomes true after 15 minutes without a fresh observation. A stale row is retained evidence, not a current offer. Decide in your application what to do with it: hide it, label it, or stop the job.

Stop when nothing on the page is fresh
import json, os, urllib.request

url = "https://draftkingsapi.com/api/v1/pick6/projections?sport=NBA&limit=100"
request = urllib.request.Request(url, headers={
    "Authorization": "Bearer " + os.environ["DRAFTKINGS_API_KEY"]
})
with urllib.request.urlopen(request, timeout=20) as response:
    rows = json.load(response)["data"]

fresh = [r for r in rows if not r["stale"]]
print(len(fresh), "fresh of", len(rows), "rows on this page")
if not fresh:
    raise SystemExit("No fresh NBA rows on this page. Check /status.")

Read one market row

A row is one market at one target value, not one player. The shape below is illustrative: it shows real field names with made-up identifiers.

Illustrative NBA row, not a current record
{
  "sport": "NBA",
  "stat": "Points",
  "stat_abbreviation": "PTS",
  "target_value": 24.5,
  "period": null,
  "is_live": false,
  "is_paused": false,
  "pick_group_id": "EXAMPLE_GROUP",
  "pickable_id": "EXAMPLE_PICKABLE",
  "pickable_market_id": "EXAMPLE_MARKET",
  "selections": [
    { "side": "More", "standings_multiplier": 1, "formatted_standings_multiplier": "1x" },
    { "side": "Less", "standings_multiplier": 1, "formatted_standings_multiplier": "1x" }
  ],
  "entities": [
    { "entity_id": "EXAMPLE_ENTITY", "full_name": "Example Athlete", "events": [] }
  ],
  "observed_at": "CAPTURE_TIME",
  "source_updated_at": null,
  "age_seconds": 240,
  "stale": false
}

Alternative targets and one-sided rows

One athlete can hold several rows for Points at different target_values. On NBA captures we saw both-sided rows with More and Less, and many more rows listing More alone. Keep what the source sent. Do not create the missing side, and do not assume the two sides of a row carry equal multipliers.

Pick6 rows carry standings multipliers such as 1.5x. A standings multiplier is not decimal odds, a probability or an established entry payout. Read odds vs Pick6 multipliers vs DFS salaries before putting multipliers into a model.

To count athletes, count distinct entities[].entity_id. Row counts overstate them.

Live and paused rows

NBA is where you will see is_live and is_paused most clearly, because rows captured during games keep their flags. live_stat_value and live_stat_updated_at belong to the live statistic. They are not the clock of the offer, and source_updated_at stays null because the source market update time is unknown.

  • Exclude is_paused: true when you display anything that could read as available.
  • Treat is_live: true rows as in-game context, and show live_stat_value only with its own timestamp.
  • A row disappearing from a partial capture is not settlement. Retained rows can persist after their game has finished.

Page through the NBA board

limit accepts 1 to 100 and offset 0 to 10,000. Continue while pagination.has_more is true. There is no player filter, so filter on entities after you fetch, or use pickable_id with a value a response already returned. Each page costs one request, so set a page limit when you run this on a schedule.

Bounded run of the example script
python3 pick6-board.py --sport NBA --stat Points --limit 25 --max-pages 2

For change history rather than the current board, use /api/v1/pick6/history. See line movement. 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.

Try it

Run one bounded request, then check stale on what came back.

curl --fail-with-body "https://draftkingsapi.com/api/v1/pick6/projections?sport=NBA&stat=Points&limit=10" \
  -H "Authorization: Bearer $DRAFTKINGS_API_KEY"

Check the recorded data

Questions

Which NBA stats does Pick6 data include?

On 2026-11-03 NBA captures contained Points only. Collection is selected and rotating, so query the stat you need and check the status page instead of relying on this list.

Are NBA Pick6 rows current offers?

Not necessarily. Check stale and age_seconds on each row. On the date above, every retained NBA row was past the 15-minute stale window at the time of the check. Presence does not prove a row is selectable.

Can I compare an NBA Pick6 target with a DraftKings sportsbook prop?

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.

Do the multipliers show my payout?

No. A standings multiplier is not decimal odds, a probability or an established entry payout. These observations do not establish what any entry pays.

Related resources

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.