Player props API · NFL · NBA · MLB · NHL
Player props API.
Every player line, one schema.
Passing yards, points, strikeouts, and 88 more player markets from DraftKings, FanDuel, Pinnacle, Kalshi, and more, in the same schema as every game line.
Free key · 20,000 data points a day · No credit card
RequestPython 3 · requests
import os
from datetime import datetime, timezone
import requests
key = os.environ["THERUNDOWN_API_KEY"]
api = "https://therundown.io/api/v2"
headers = {"X-TheRundown-Key": key}
# Next NFL, MLB, or NBA game date, regular season or playoffs
dates = requests.get(
f"{api}/sports/dates",
params={"sport_ids": "2,26,3,31,4,24", "format": "epoch"},
headers=headers,
timeout=30,
).json()
now = datetime.now(timezone.utc).timestamp()
upcoming = [
(sport_id, stamp)
for sport_id, body in dates.items()
for stamp in body.get("dates") or []
if stamp > now
]
sport_id, stamp = min(upcoming, key=lambda row: row[1], default=("2", now))
date = datetime.fromtimestamp(stamp, timezone.utc).date().isoformat()
# NFL passing yards (51), MLB pitcher strikeouts (19), NBA points (29)
odds = requests.get(
f"{api}/sports/{sport_id}/events/{date}",
params={"market_ids": "51,19,29", "affiliate_ids": "19,23", "main_line": "true"},
headers=headers,
timeout=30,
)
print(odds.text)Response200 · trimmed
{
"events": [{
"event_id": "9cd666660847e644ecea84fc24cf9f58",
"sport_id": 2,
"event_date": "2026-10-04T13:30:00Z",
"markets": [{
"market_id": 51,
"name": "passing_yards",
"participants": [{
"id": 9341,
"type": "TYPE_PLAYER",
"name": "Daniel Jones",
"lines": [{
"value": "Over 219.5",
"prices": {
"19": { "price": -112, "updated_at": "2026-10-03T20:59:06Z" },
"23": { "price": -113, "updated_at": "2026-10-03T14:55:51Z" }
}
}]
}]
}]
}]
}Colts at Commanders, October 4, 2026, trimmed to one player’s over. The full passing-yards response held 13 games for 128 data points.
Markets
Every player market, and the rest of the board.
Player markets in four leagues, plus alternate prop lines and season-long futures. Game lines, periods, and team totals ride the same request.
- NFL · 24 marketsPassing, rushing, and receiving yards, receptions, completions, attempts, interceptions; first, anytime, and last touchdown
51 · 53 · 57 · 58 · 296 · 300 · 960 · 49 · 55 · 56Starter - NBA · 16 marketsPoints, rebounds, assists, threes, steals, blocks, turnovers, combos, 1st-quarter props, double-double, triple-double
29 · 35 · 39 · 38 · 34 · 98 · 33 · 93 · 99 · 297 · 298 · 1115–1117 · 87 · 88Starter - MLB · 17 marketsHits, total bases, home runs, RBIs, runs, stolen bases, walks; strikeouts, outs, hits allowed, earned runs; first home run
12 · 11 · 72 · 18 · 17 · 40 · 967 · 19 · 973 · 47 · 1121 · 826Starter - NHL · 12 marketsGoals, points, assists, shots, saves; first and anytime goalscorer; 2+ and 3+ goals
86 · 29 · 39 · 97 · 589 · 405 · 410 · 555 · 562Starter - Alternate prop linesEvery posted line for each player
omit main_lineStarter - In-game propsLive player markets, from NBA points to NFL passing yards
90 · 982 · 82 · 83Starter - Season-longNFL season yardage, MLB stat leaders, MVP and other awards
/sports/{id}/futuresUltra - Game linesMoneyline, spread, and total
1 · 2 · 3Free - Everything elseAlternates, halves, quarters, innings, team totals, and game props
4 · 5 · 6 · 94 · 9Starter
Player market IDs served on NFL, NBA, MLB, and NHL slates sampled from March to October 2026 (GET /api/v2/sports/{id}/markets/{date}). GET /api/v2/markets lists every definition.
Books
All 25 books. One schema.
Player props come from the books that post them, including DraftKings, FanDuel, BetMGM, Pinnacle, and Kalshi. All of them share one schema.
Sportsbooks · 20
- DraftKingsFree19
- FanDuelFree23
- BetMGMFree22
- Pinnacle3
- Circa Sports32
- BookMaker7
- BetCRIS9
- Bovada2
- theScore Bet24
- Unibet21
- HardRock28
- Bet10533
- Heritage Sports34
- BetOnline6
- SportsBetting4
- LowVig11
- Bodog12
- Intertops14
- Matchbook16
- YouWager18
Prediction markets · 3
- Kalshi25
- Polymarket26
- Polymarket US31
Exchanges · 2
- ProphetX29
- Novig30
Live from GET /api/v2/affiliates. Prop coverage varies by book, league, game, and player. Coverage varies by league, game, and market.
Free vs paid
Test free. Props start at $49.
No player props. Free keys get moneyline, spread, and total instead, limited to DraftKings, FanDuel, and BetMGM.
Player props from $49 a month on Starter, with alternate lines, live odds, and history. Season-long futures on Ultra.
Questions
Before you build.
Plans, markets, books, and IDs for the Player props API.
- Are player props on the free plan?
- No. On a Free key, a props request returns moneyline, spread, and total instead, limited to DraftKings, FanDuel, and BetMGM. Props start on Starter ($49 a month).
- Which player props are available?
- 91 player markets across the NFL, NBA, MLB, and NHL, 25 of them in-game: NFL passing, rushing, and receiving yards and touchdown scorers; NBA points, rebounds, assists, threes, and combos; MLB hits, total bases, home runs, and pitcher strikeouts; and NHL goals, points, shots, and saves. Season-long player futures start on Ultra. GET /api/v2/markets lists every market ID.
- Which books offer player props?
- DraftKings, FanDuel, BetMGM, Pinnacle, Bovada, theScore Bet, Circa Sports, and more, plus Kalshi, Polymarket, ProphetX, and Novig. Coverage varies by league, game, and player.
- How do I get alternate prop lines?
- Leave out main_line=true. The response then carries every posted line for each player, not just the main one.
- How fast do prop prices update?
- Starter delivers props over REST with a 60-second delay, and Pro with 30 seconds. Ultra ($399 a month) is real-time and adds WebSocket streaming.