draftkings apiDashboard ↗

INDEPENDENT DEVELOPER REFERENCE

NFL Pick6 props API

Filter recorded NFL Pick6 rows by exact stat label, encode spaces and plus signs, and tell first-quarter and first-half markets apart.

Editorial review: · Not a live coverage report

NFL stat labels we have seen

The stat filter is an exact, case-sensitive match on the source label. These labels were in NFL captures on 2026-11-03. They come from the source and can change, so treat them as a dated starting point.

NFL stat labels seen on 2026-11-03. Counts are on /status.
GroupLabels
YardageReceiving Yards, Passing Yards, Rushing Yards, Rush + Rec Yards
Part of a game1Q Receiving Yards, 1H Receiving Yards
TouchdownsRush + Rec TD, 1st Touchdown Scorer, Passing Touchdowns, Passing TDs
VolumeReceptions

Passing Touchdowns and Passing TDs both appeared. Labels are not normalized for you, so a filter on one misses the other. Group them yourself if your application treats them as the same stat.

Encode the filter value

Spaces become %20, and a plus sign must be %2B. An unencoded + in a query string decodes as a space, so Rush + Rec Yards written raw will not match.

Spaces and a plus sign, encoded
curl --fail-with-body "https://draftkingsapi.com/api/v1/pick6/projections?sport=NFL&stat=Receiving%20Yards&limit=25" \
  -H "Authorization: Bearer $DRAFTKINGS_API_KEY"

curl --fail-with-body "https://draftkingsapi.com/api/v1/pick6/projections?sport=NFL&stat=Rush%20%2B%20Rec%20Yards&limit=25" \
  -H "Authorization: Bearer $DRAFTKINGS_API_KEY"
Let the standard library do it
from urllib.parse import urlencode, quote

query = urlencode({"sport": "NFL", "stat": "Rush + Rec Yards", "limit": 25}, quote_via=quote)
print(query)  # sport=NFL&stat=Rush%20%2B%20Rec%20Yards&limit=25

Part-of-game markets

1Q Receiving Yards and 1H Receiving Yards are separate labels from Receiving Yards. The period field can be null on NFL rows, with the scope of the market carried by the label. Keep them apart: a first-quarter target and a full-game target for the same athlete measure different things.

Null period means the source did not supply one. Do not write it as full game on your side. Read the label, and leave the value unknown when the label does not settle it.

Targets and selections on an NFL row

One receiver can have several Receiving Yards rows at different targets. Higher targets often arrive as a single More selection with a larger multiplier, and a both-sided More and Less row can sit at 1x. These are source values for each row, not a formula you can extend to a target the source did not offer.

Illustrative shapes, not current records.
target_valueselectionsHow to read it
29.5More at 2xOne-sided. No Less was offered in this row.
79.5More at 19.9xOne-sided, at a larger multiplier for a higher target.
4.5More at 1x, Less at 1xBoth sides are present, each with its own value.

Pick6 rows carry standings multipliers such as 1.5x. A standings multiplier is not decimal odds, a probability or an established entry payout.

Game week timing

NFL captures follow selected categories on a rotating schedule, and the worker target is five minutes when enabled. A category can be fresh while another is older. Check age_seconds per row rather than assuming one board-wide clock.

Use entities[].events[] for the game context on a row: name, start_time, team_name and opponent_name, which can be null. Those event IDs belong to Pick6, not ESPN. See ESPN and DraftKings IDs.

Join NFL rows to DFS salaries

In a bounded NFL check on 2026-11-03, rows matched by exact name had a Pick6 entities[].entity_id equal to the DFS data.playerDkId in all but one case. That makes it a useful join key to test, not a documented contract. Keep a check for mismatches, and read matching players across datasets.

Bounded side-by-side run
python3 comparison-feed.py --sport NFL --stat "Receiving Yards" --max-requests 12

Try it

Fetch one stat, then copy the exact label from a returned row for later filters.

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

Check the recorded data

Questions

Why does my Rush + Rec Yards filter return nothing?

The plus sign is probably unencoded. Send Rush%20%2B%20Rec%20Yards. A raw plus decodes as a space, so the value no longer matches the source label.

Is the stat filter case-sensitive?

Yes. It is an exact match on the source label. Copy labels from a returned row rather than typing your own.

Are NFL sportsbook player props available for comparison?

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.

Does a missing period mean full game?

No. A null period is unknown. Part-of-game NFL markets such as 1Q Receiving Yards carry their scope in the stat label, so read the label and keep unknown values unknown.

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.