DraftKings Odds API - Real-Time Lines & Player Props
Pricing
from $6.69 / 1,000 requests
DraftKings Odds API - Real-Time Lines & Player Props
Extract real-time DraftKings sportsbook odds for 28 sports and 280+ leagues. Get spreads, moneylines, totals, player props, and futures in 3 odds formats. Always-on HTTP API. Live in-play odds with scores. NBA, NFL, MLB, NHL, EPL, and more. No login required.
Pricing
from $6.69 / 1,000 requests
Rating
0.0
(0)
Developer
Zen Studio
Maintained by CommunityActor stats
2
Bookmarked
369
Total users
59
Monthly active users
4.2 days
Issues response
3 days ago
Last modified
Categories
Share
DraftKings Odds API — Real-Time Lines, Player Props & Futures
A recorded College Football run with all market types returned 104,639 selections. Each row is a selection, not a separate game or market. Available counts vary; the pictured odds are illustrative.
| Always-on HTTP API — send a GET request, get DraftKings odds back in milliseconds. |
| 28 sports, 280+ leagues. Spreads, moneylines, totals, player props, futures. Public betting percentages: share of bets and share of money per side. American, decimal, and fractional odds. Live in-play with scores. No account required. |
| Zen Studio Sports Betting | |||
You are here | DFS player props | Projections and lines | Markets & props |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start building with this API.
DraftKings Odds API. Base: https://zen-studio--draftkings-odds.apify.actor Auth: ?token=APIFY_TOKEN (get at https://console.apify.com/account/integrations). Endpoints: GET /sports (free, list all sports), GET /leagues?sport=X (leagues for a sport), GET /leagues/{id}?market=game_lines|player_props|futures|all (events with odds), GET /events/{id}?market=X&league={leagueId} (single event detail). Pricing (pay per event, Free plan prices, lower on paid Apify plans): $9.99 per 1,000 requests to /leagues, /leagues/{id} and /events/{id} ($6.69 per 1,000 on Business), $0.20 per 1,000 dataset rows in batch mode ($0.134 per 1,000 on Business), $0.0049 per actor start. /health and /sports are free. Batch mode inputs: sport (any slug from GET /sports, e.g. ALL|football|basketball|baseball|hockey|soccer|tennis|golf|mma|cricket|motorsports; read live, new sports work immediately), leagueIds (string, comma-separated league IDs, overrides sport), market (game_lines|player_props|futures|all), propTypes (string, comma-separated stat filter for player_props, e.g. "Strikeouts, Hits"), maxResults (int, default 500, 0=unlimited). Every selection includes odds in 3 formats, impliedProbability, and DraftKings public betting splits betsPercent (share of bets) + handlePercent (share of money) where published. Free tier: 10 lifetime batch runs (capped to 200 rows) or 50 lifetime API calls. League IDs: NBA=42648 NFL=88808 MLB=84240 NHL=42133 WNBA=94682 UFC=9034 College Football=87637 CFB FCS=154752 EPL=40253 Champions League=40685 La Liga=40031 Bundesliga=40481 Serie A=40030 F1=212334. 280+ leagues total, call /leagues for the current list. Full API spec: GET https://api.apify.com/v2/acts/zen-studio~draftkings-odds/builds/default (Bearer TOKEN). OpenAPI spec: /openapi.json?token=TOKEN
Also available as an MCP server — add zen-studio/draftkings-odds for natural language access.
How to Scrape DraftKings Odds in Real Time
|
|
|
|
|
|
|
DraftKings Odds API Endpoints
Your API base URL:
https://zen-studio--draftkings-odds.apify.actor?token=YOUR_APIFY_TOKEN
Five endpoints, all GET. /health and /sports are free. The rest are billed per request.
The market parameter controls what you get back: game_lines (spread, moneyline, total), player_props (points, rebounds, assists, combos, H2H), futures (championship, MVP, division winners), or all for everything.
Pricing
Pay per use, no subscription. Prices drop on higher Apify plans.
| Event | Charged for | Free | Starter | Scale | Business and higher |
|---|---|---|---|---|---|
| Request | Each call to /leagues, /leagues/{id} or /events/{id}, and each league with results in a batch run | $9.99 per 1,000 | $8.99 per 1,000 | $7.99 per 1,000 | $6.69 per 1,000 |
| Dataset row | Each odds row written to the dataset in a batch run | $0.20 per 1,000 | $0.18 per 1,000 | $0.16 per 1,000 | $0.134 per 1,000 |
| Actor start | Each run start, one per GB of memory | $0.0049 | $0.0049 | $0.0049 | $0.0049 |
/health and /sports are always free. Standby responses are charged per request only, never per row.
DraftKings Odds JSON Output
Every response returns the full odds structure below. Real NBA game lines example:
{"success": true,"league": {"id": "42648","name": "NBA","sport": "Basketball","sportId": "2"},"eventCount": 8,"events": [{"id": "33841191","name": "OKC Thunder @ WAS Wizards","startTime": "2026-03-21T21:10:00Z","status": "NOT_STARTED","homeTeam": {"id": "32962","name": "WAS Wizards","abbreviation": "WAS"},"awayTeam": {"id": "32942","name": "OKC Thunder","abbreviation": "OKC"},"markets": [{"id": "1_84695475","name": "Spread","type": "spread","isMain": true,"selections": [{"label": "WAS Wizards","odds": "+1400","decimalOdds": 15.0,"fractionalOdds": "14/1","impliedProbability": 6.7,"betsPercent": 23.0,"handlePercent": 34.0,"points": 14.5,"outcome": "home"},{"label": "OKC Thunder","odds": "-2800","decimalOdds": 1.04,"fractionalOdds": "1/28","impliedProbability": 96.6,"points": -14.5,"outcome": "away"}]},{"id": "1_84695476","name": "Moneyline","type": "moneyline","isMain": true,"selections": [{"label": "WAS Wizards","odds": "+1200","decimalOdds": 13.0,"fractionalOdds": "12/1","impliedProbability": 7.7,"outcome": "home"},{"label": "OKC Thunder","odds": "-2500","decimalOdds": 1.04,"fractionalOdds": "1/25","impliedProbability": 96.2,"outcome": "away"}]},{"id": "1_84695477","name": "Total","type": "total","isMain": true,"selections": [{"label": "Over","odds": "-110","decimalOdds": 1.91,"fractionalOdds": "10/11","impliedProbability": 52.4,"points": 226.5,"outcome": "over"},{"label": "Under","odds": "-110","decimalOdds": 1.91,"fractionalOdds": "10/11","impliedProbability": 52.4,"points": 226.5,"outcome": "under"}]}]}],"scrapedAt": "2026-03-21T14:30:00Z"}
Main Lines vs Alternate Lines
One rule works on every board:
a row is the main line when the market is not
isAlternateand the selectionisMain.
In batch mode that is precomputed as the isMainLine column.
isAlternate(market) — the market is an alternate ladder (Spread Alternate,Total Alternate). Derived from the market name, so you can re-derive it yourself.isMain(selection) — the main rung of its own market. On an alternate ladder the top rung still carries it, which is why it is not sufficient alone.
Measured on a full college football board with 484 ladders: the rule leaves exactly one line on all 484 and never more than one. On an NFL player-prop board it leaves exactly one row per player, stat and side across 1,726 groups.
The source's own market-level main flag is deliberately not exposed. It is wrong in both
directions: set on alternate ladders, unset on 100 of those 484 ladders that do have a main
line, and on player props true almost only for combo markets such as
Player A & Player B - Receiving Yards Total.
DraftKings Public Betting Percentages
Every selection carries the share of bets and the share of money DraftKings reports for it, wherever DraftKings publishes them (typically 50-90% of a league's board):
{"label": "SEA Seahawks","odds": "-170","impliedProbability": 63.0,"betsPercent": 77.0,"handlePercent": 66.0}
betsPercent— share of bets placed on this side, the public/ticket counthandlePercent— share of money wagered on this side
The two diverging is the signal bettors look for: a side with 77% of tickets but 34% of the
money means many small bets against fewer large ones. Both are numbers, not strings, and are
absent on selections DraftKings does not publish splits for. Available in batch mode as the
betsPercent and handlePercent columns.
DraftKings Live In-Play Odds
When a game is in progress, each event includes live scoring data:
{"id": "33841191","name": "OKC Thunder @ WAS Wizards","status": "STARTED","live": {"period": 3,"clock": "04:22","clockRunning": true,"homeScore": 78,"awayScore": 95},"markets": [...]}
DraftKings Player Props Data
Use market=player_props to get player-level prop lines. Use the propTypes parameter (batch mode) to filter by stat type.
{"id": "1_84695478","name": "Shai Gilgeous-Alexander Over/Under Points","type": "player_prop","selections": [{"label": "Over","odds": "-115","decimalOdds": 1.87,"fractionalOdds": "20/23","impliedProbability": 53.5,"points": 30.5,"outcome": "over","participant": {"id": "1234567","name": "Shai Gilgeous-Alexander","type": "Player"}}]}
Batch Mode — Prop Type Filter
In batch mode, use propTypes to narrow player props by stat type. Comma-separated, partial match, case-insensitive.
{"sport": "baseball","market": "player_props","propTypes": "Strikeouts","maxResults": 500}
{"sport": "basketball","market": "player_props","propTypes": "Points, Assists, Threes"}
Available prop types vary by sport:
- Baseball: Strikeouts, Hits, Home Runs, Total Bases, Stolen Bases, RBIs, Walks, Runs
- Basketball: Points, Rebounds, Assists, Threes, Double-Double, Triple-Double
- Hockey: Goals, Shots on Goal, Assists, Saves, Blocks, Power Play Points
- Soccer: Goalscorer, Shots, Assists, Tackles, Saves, Cards
DraftKings League IDs
Common leagues for quick reference. The full board covers 280+ leagues across 28 sports and tracks DraftKings as it adds and retires competitions, so call GET /leagues (or GET /leagues?sport=football) for the current list rather than hardcoding these.
| League | ID | Sport |
|---|---|---|
| NBA | 42648 | Basketball |
| NFL | 88808 | Football |
| MLB | 84240 | Baseball |
| NHL | 42133 | Hockey |
| English Premier League | 40253 | Soccer |
| Champions League | 40685 | Soccer |
| La Liga | 40031 | Soccer |
| Bundesliga | 40481 | Soccer |
| Serie A | 40030 | Soccer |
| Ligue 1 | 40032 | Soccer |
| College Football | 87637 | Football |
| College Football FCS | 154752 | Football |
| College Basketball | 92483 | Basketball |
| WNBA | 94682 | Basketball |
| UFC | 9034 | MMA |
| Formula 1 | 212334 | Motorsports |
Scheduling
| Cadence | Best For |
|---|---|
| Once or twice daily | Daily odds snapshots, content creation |
| Every 1-4 hours | Line comparison, data collection |
| Every 30-60 seconds | Live odds dashboards, arbitrage detection |
Data Export
Results are available in:
- JSON — structured nested data for programmatic use
- CSV — flattened rows (batch mode) for spreadsheets
- Excel — download from Apify Console
Export directly from Apify Console or via API.
FAQ — DraftKings Odds Scraper
How do I scrape DraftKings odds?
Use the Standby mode endpoints. Send GET /leagues/42648 to get NBA odds instantly. No setup, no login, no browser.
What odds formats are available? American (+150, -110), decimal (2.50, 1.91), and fractional (3/2, 10/11). All three in every response.
Does this include live in-play odds? Yes. When a game is in progress, the response includes live scores, game clock, current period, and updated odds.
How often are odds updated? Odds reflect the current DraftKings state at the time of your request. For live games, query every 30-60 seconds.
Do I need a DraftKings account? No. All data is publicly available. No login, cookies, or account required.
Can I get odds for a single event?
Yes. Use GET /events/{id}?league={leagueId}&market=all to get every market for one event.
What's the difference between Standby and Batch mode? Standby is an always-on HTTP API for real-time queries. Batch runs on a schedule and exports all odds to a dataset.
Can I track line movements? Schedule the actor to run periodically and compare odds values across runs using event and selection identifiers.
Legal Compliance
This Actor extracts publicly available odds data from DraftKings. Users must ensure compliance with DraftKings terms of service and applicable data protection and gambling regulations.
Start Getting DraftKings Odds Now
More Zen Studio scrapers for sports betting
🏟️ Sportsbook odds
Action Network
FanDuel
BetMGM
Bet365
🎯 Daily fantasy & player props
Player Props Aggregator
PrizePicks
Underdog Fantasy
Sleeper
DraftKings Pick6
Bet365
🎾 Live scores & match data
Tennis Abstract
Flashscore



