DraftKings API
DraftKings Pick6 props, sportsbook odds, DFS salaries and line history for apps and agents. Independent, not affiliated with DraftKings.
Hosted MCP Server
npx add-mcp 'https://draftkingsapi.com/api/mcp'Installs into Claude Code, Codex, Cursor and more
Documentation
Claude Code and Claude web are different setups
Claude Code is a developer CLI that runs on your machine and can send a header built from your environment. Claude on the web and in the desktop app connects through custom connectors, and those connections come from Anthropic's cloud, not your device.
| Surface | How it connects | What it can reach here |
|---|---|---|
| Claude Code | .mcp.json or claude mcp add, with a Bearer header | search, fetch and all data tools |
| Claude web and desktop | Custom connector with No sign in | search and fetch. Data tools need a request header, a feature Anthropic describes as a beta for a limited set of organizations |
Configure Claude Code
Create a key at the dashboard and export it in the shell that launches Claude Code. Then add this file to your project. ${DRAFTKINGS_API_KEY} is expanded when Claude Code starts, so the file holds no secret and can be committed.
Environment
export DRAFTKINGS_API_KEY=dk_your_key_here # put this in a shell profile or secret manager, not the repo
.mcp.json
{
"mcpServers": {
"draftkings": {
"type": "http",
"url": "https://draftkingsapi.com/api/mcp",
"headers": {
"Authorization": "Bearer ${DRAFTKINGS_API_KEY}"
}
}
}
}
Prefer the file for a shared project. The CLI below is shorter, but your shell expands the variable before Claude Code sees it, so the literal key is stored in ~/.claude.json. Use it for a user-scoped personal setup only.
CLI alternative
claude mcp add --transport http --scope user draftkings https://draftkingsapi.com/api/mcp --header "Authorization: Bearer $DRAFTKINGS_API_KEY"
For documentation lookups with no key, omit the header:
Keyless search and fetch
claude mcp add --transport http draftkings https://draftkingsapi.com/api/mcp
Run /mcp inside Claude Code to see the server status.
Handle the credential
The key is a server-side secret, and each one is shown once. Do not paste it into a chat, a prompt or a committed file. Create a dedicated named key for the assistant so you can revoke it alone. Keys on one account share the same allowance, so an assistant in a loop can spend your monthly requests.
Make the first call
Give Claude Code a small task that forces real rows. This costs two requests.
First task
Use the draftkings MCP tools. Call get_coverage, then get_pick6_projections with sport NHL, stat Shots on Goal and limit 5. Report the rows you actually got, with observed_at and stale for each. If rows are stale or absent, say so. Never invent rows. Standings multipliers are not odds. Do not recommend entries or bets.
Check the answer against the rows: real observed_at values and an honest stale flag. If it reports fresh data while stale is true, correct it in your instructions.
Tools the server exposes
The endpoint is Streamable HTTP in its stateless JSON form, over POST. search and fetch read public documentation and need no key. Every other tool calls the same handler as its REST endpoint, so a Bearer key is required and each call counts against your plan.
| Tool | Key needed | Use it for |
|---|---|---|
search, fetch | No | Guides, questions, data reports and integration pages |
get_coverage | Yes | Call this first: measured stored coverage and collector context |
get_pick6_projections, get_pick6_history | Yes | Pick6 rows and recorded changes |
get_sportsbook_events, get_sportsbook_odds, get_sportsbook_history | Yes | Mainlines and retained history |
get_dfs_sports, get_dfs_contests, get_dfs_slates, get_dfs_players | Yes | DFS catalog, contests, slates and salaries |
get_context_games, get_context_player_stats, get_context_team_stats | Yes | Scores and box scores for captured events |
get_stats_games, get_stats_player_games, get_stats_team_games | Yes | Independent statistics. sport and season are required |
As of 2026-11-03, DraftKings moneylines, spreads and totals are available across eight leagues, attributed to ESPN. Native sportsbook scopes add NFL, NHL, college basketball and college football game lines from the DraftKings New York sportsbook, and NFL rushing yards O/U and NHL Shots on Goal, points, assists, saves, goalscorers, power-play points and first-period shots from the DraftKings New York sportsbook, live over a paid WebSocket while a scope is healthy. Read snapshots and streamed changes through the sportsbook endpoints. Current scope inventory is listed at /api/v1/sportsbook/scopes. Pick6 rows carry standings multipliers such as 1.5x. A standings multiplier is not decimal odds, a probability or an established entry payout.
Troubleshoot Claude Code
Most failures come from the environment or the plan rather than from the protocol.
- The server is missing from
/mcp: restart Claude Code from a shell where the variable is set, and approve the project server if prompted. - A tool reports that it needs an API key: the header did not expand. Run
echo $DRAFTKINGS_API_KEYin the launching shell. - HTTP 401 inside a tool result: the key is revoked or malformed. Keys start with
dk_. - HTTP 429: wait for the next UTC minute, or for the next month if the monthly allowance is spent. See errors and rate limits.
- A browser or GET request to the endpoint returns 405: this is expected. The server is stateless JSON over POST.
- Large results trigger an output warning: Claude Code warns at 10,000 tokens by default. Lower
limit, or raiseMAX_MCP_OUTPUT_TOKENS.
Use Claude on the web
In the web or desktop app, add a custom connector with the URL below and choose No sign in. That gives Claude the keyless search and fetch tools, which read public pages. Anthropic's documentation lists custom connectors on Free, Pro, Max, Ultra, Team and Enterprise, with Free limited to one.
Connector URL
https://draftkingsapi.com/api/mcp
First task for web chat
Use the draftkings search tool to find the page about API request limits, then fetch it and tell me the plans and limits it states, with the page URL. Do not guess anything the page does not say.
Anthropic describes request header authentication as a beta for a limited set of organizations. We have not tested that route, and this server offers no OAuth sign-in. For live data in web chat, run a REST call yourself, then attach the result to the conversation.
REST alternative
Everything the data tools do is a plain HTTP call, and MCP is optional. Use REST when a client cannot send a header, or when a scheduled job needs no assistant in the loop.
The same first read over REST
curl --fail-with-body "https://draftkingsapi.com/api/v1/pick6/projections?sport=NHL&stat=Shots%20on%20Goal&limit=5" \
-H "X-User-Request: Build a prop screen from current Pick6 lines" -H "Authorization: Bearer $DRAFTKINGS_API_KEY"
The public contract is at /api/openapi. See the Python guide and the JavaScript guide for retries and pagination.
Evaluate before you build on Claude
Check the data before you promise a feature. A connected client shows that the transport works, not that the coverage fits your project.
- Read the measured coverage report and status for the sports and stats you need.
- Read league coverage, because filter labels differ by dataset.
- Read odds vs Pick6 multipliers vs DFS salaries so the assistant does not mix up what the numbers mean.
- Read freshness, then ask the assistant to report
observed_atandstalefor each row it uses. - Compare other providers on the comparison hub if you need full-book sportsbook props or multi-book feeds.
Free includes 100 requests/month at 20/minute; Developer is $49/month with 10,000 requests/month at 60/minute; Production is $149/month with 50,000 requests/month at 120/minute. Limits are shared across keys.
Try it
Run the first read over REST if you want to check your key before configuring a client.
bash
curl --fail-with-body "https://draftkingsapi.com/api/v1/pick6/projections?sport=NHL&stat=Shots%20on%20Goal&limit=5" \
-H "X-User-Request: Build a prop screen from current Pick6 lines" -H "Authorization: Bearer $DRAFTKINGS_API_KEY"
Working assets
See the recorded data
Questions
Does the Claude Code setup work in Claude on the web?
No. The.mcp.json file and CLI apply to Claude Code. Claude on the web uses custom connectors, which reach the keyless search and fetch tools here. Data tools need a Bearer header, which Anthropic describes as a limited beta for connectors.
Can I try it without a key?
Yes. The search and fetch tools read public documentation with no key. Data tools need an account and a key.
Is the key safe in.mcp.json?
Only as a reference. Write the variable reference shown on this page, not the literal key, and set the value in your environment. Then the file holds no secret.
Will Claude recommend entries or bets?
This service provides captured data for analysis and does not recommend entries or bets. The first task on this page tells the assistant not to, and we suggest keeping that instruction.
Sources
- Claude Code: connect to tools via MCP checked 2026-11-03
- Anthropic: get started with custom connectors using remote MCP checked 2026-11-03
- Anthropic: add an unlisted custom connector checked 2026-11-03
Start building on DraftKings data
Free API key, no card. Sample rows need no key at all.
The same data over the API
curl 'https://draftkingsapi.com/api/v1/demo/pick6'
Operated by DD Inc. No wagering: this service does not place, recommend or settle entries or bets. See sources and status for current capture times.