DraftKings Odds API - Real-Time Lines & Player Props
Pricing
from $6.70 / 1,000 odds requests
DraftKings Odds API - Real-Time Lines & Player Props
Extract real-time DraftKings sportsbook odds for 11 sports and 43+ 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.70 / 1,000 odds requests
Rating
0.0
(0)
Developer
Zen Studio
Maintained by CommunityActor stats
0
Bookmarked
48
Total users
15
Monthly active users
0.51 hours
Issues response
8 hours ago
Last modified
Categories
Share
DraftKings Odds API — Real-Time Lines, Player Props & Futures
| Always-on HTTP API — send a GET request, get DraftKings odds back in milliseconds. |
| 11 sports, 43+ leagues. Spreads, moneylines, totals, player props, futures. American, decimal, and fractional odds. Live in-play with scores. No account required. |
| Zen Studio Sports Betting • Real-time odds across every major sportsbook | |||
|
➤ You are here |
DFS player props |
Projections and lines |
Lines and odds |
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: $0.01/request + $0.0002/row for PPE, or $4.99/24h day pass, or $49/30d monthly pass — free under active pass. Buy pass: POST run with body {"dayPassPurchase":true} or {"monthlyPassPurchase":true}. Batch mode inputs: sport (basketball|football|baseball|hockey|soccer|tennis|golf|cricket|motorsports|rugby|snooker), 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). 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 EPL=40253 Champions League=40685 La Liga=40031 Bundesliga=40481 Serie A=40030 F1=84896. 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 and per row.
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
Three ways to pay:
| Plan | Price | What you get |
|---|---|---|
| Pay-per-request (default) | $0.01 per request + $0.0002 per row | Cheapest for occasional use, scales with volume |
| 24-Hour Day Pass | $4.99 | Unlimited requests and rows for 24 hours |
| 30-Day Monthly Pass | $49.00 | Unlimited requests and rows for 30 days |
/health and /sports are always free.
When does the pass save money? If you pull more than 500 requests in a day, the Day Pass is cheaper. If you pull every day, the Monthly Pass is cheaper than 30 Day Passes.
How to buy a pass: call the actor once with the pass flag and no other input. The pass is tied to your Apify user ID and activates immediately.
# 24h Day Passcurl -X POST "https://api.apify.com/v2/acts/zen-studio~draftkings-odds/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"dayPassPurchase": true}'# 30-day Monthly Passcurl -X POST "https://api.apify.com/v2/acts/zen-studio~draftkings-odds/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"monthlyPassPurchase": true}'
While a pass is active, all request and row charges are waived automatically.
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": [{"name": "Spread","type": "spread","isMain": true,"selections": [{"label": "WAS Wizards","odds": "+1400","decimalOdds": 15.0,"fractionalOdds": "14/1","points": 14.5,"outcome": "home"},{"label": "OKC Thunder","odds": "-2800","decimalOdds": 1.04,"fractionalOdds": "1/28","points": -14.5,"outcome": "away"}]},{"name": "Moneyline","type": "moneyline","isMain": true,"selections": [{"label": "WAS Wizards","odds": "+1200","decimalOdds": 13.0,"outcome": "home"},{"label": "OKC Thunder","odds": "-2500","decimalOdds": 1.04,"outcome": "away"}]},{"name": "Total","type": "total","isMain": true,"selections": [{"label": "Over","odds": "-110","decimalOdds": 1.91,"points": 226.5,"outcome": "over"},{"label": "Under","odds": "-110","decimalOdds": 1.91,"points": 226.5,"outcome": "under"}]}]}],"scrapedAt": "2026-03-21T14:30:00Z"}
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.
{"name": "Shai Gilgeous-Alexander Over/Under Points","type": "player_prop","selections": [{"label": "Over","odds": "-115","decimalOdds": 1.87,"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. Call GET /leagues for the full list.
| 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 |
| Formula 1 | 84896 | Motorsports |
| College Basketball | 92483 | Basketball |
| College Football | 87637 | Football |
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.


