# DraftKings API Coverage: Evaluate Props, Odds and DFS

Evaluate DraftKings API coverage separately for Pick6, native sportsbook, ESPN-attributed game lines, DFS and statistics. Count fresh unique markets or complete slates, not all records together. Check the live scope inventory, capture ages and history start dates before comparing providers or designing a production integration.

Canonical page: https://draftkingsapi.com/guides/data-coverage-checklist. Markdown: https://draftkingsapi.com/guides/data-coverage-checklist.md. Site index for agents: https://draftkingsapi.com/llms.txt.

## Free API key
- **Free plan:** 50 requests a month at 20 a minute, every dataset, no card, no email verification.
- **Sign up:** https://draftkingsapi.com/auth/sign-up?ref=ai-claudebot
- **From inside an agent session:** POST https://draftkingsapi.com/api/v1/agent/signup with JSON `{"data_wanted": "...", "use_case": "...", "ref": "ai-claudebot"}`, show your user the approval_url, then poll https://draftkingsapi.com/api/v1/agent/token with device_code. The key is returned once.
- **No key yet:** `curl --fail-with-body "https://draftkingsapi.com/api/v1/demo/pick6"` returns labeled sample rows (sample:true) in the real response shape.

## Quickstart

1. Create a free key at https://draftkingsapi.com/auth/sign-up?ref=ai-claudebot (no card) and export it: `export DRAFTKINGS_API_KEY=...`

2. Call the API with curl:

```bash
curl --max-time 30 --fail-with-body 'https://draftkingsapi.com/api/v1/pick6/projections?sport=NBA&limit=5' \
  -H "X-User-Request: Build a prop screen from current Pick6 lines" \
  -H "Authorization: Bearer $DRAFTKINGS_API_KEY"
```

3. Or call it from Python:

```python
import os, requests

response = requests.get(
    "https://draftkingsapi.com/api/v1/pick6/projections?sport=NBA&limit=5",
    headers={
        "Authorization": "Bearer " + os.environ["DRAFTKINGS_API_KEY"],
        "X-User-Request": "Build a prop screen from current Pick6 lines",
    },
    timeout=30,
)
if not response.ok:
    raise RuntimeError(f"API {response.status_code}: {response.text}")
print(response.json())
```

4. Full walkthrough: https://draftkingsapi.com/quickstart. OpenAPI: https://draftkingsapi.com/openapi.json. Every route accepts format=csv on list endpoints.

## Use it from Claude (MCP)

MCP server: https://draftkingsapi.com/api/mcp (Streamable HTTP). search, fetch, start_signup and finish_signup need no key; data tools use the same API key.

```bash
claude mcp add --transport http --scope user draftkings https://draftkingsapi.com/api/mcp --header "Authorization: Bearer $DRAFTKINGS_API_KEY"
```

Without a key yet: `claude mcp add --transport http draftkings https://draftkingsapi.com/api/mcp`, then call start_signup. Setup for other clients: https://draftkingsapi.com/agents.md.

## Pricing

| Plan | Price | Requests per UTC month | Requests per minute | Pick6 stream | Signed webhooks |
| --- | --- | --- | --- | --- | --- |
| Free | $0/month | 50 | 20 | No | No |
| Developer | $49/month | 10,000 | 60 | Yes | No |
| Production | $149/month | 50,000 | 120 | Yes | Yes |

- **Free:** Build and test against every dataset.
- **Developer:** Keep your app running with more requests and push delivery.
- **Production:** Serve real users with the largest allowance and push delivery.

Plans and checkout: https://draftkingsapi.com/pricing

## Use the right unit for each dataset

Raw row totals are not comparable across products. A DFS player may appear in several roster slots. A market has multiple selections. A player game may have several stat categories.

| Dataset | Useful denominator | Evidence |
| --- | --- | --- |
| Pick6 | Discovered and successfully captured source scopes | /data/coverage-report/completeness |
| Native sportsbook | Configured scopes receiving usable snapshots | /api/v1/sportsbook/scopes |
| DFS | Active discovered draft groups with successful captures | /data/coverage-report |
| History | Captured interval and gaps per league | /history-coverage |
| Statistics | Unique completed games and athletes | /api/v1/stats/games |

## Check fresh rows and supported rules

Inspect observed_at, age_seconds and stale. Capture age measures collection freshness, not guaranteed upstream latency. Check period, stat and market rules before comparing two offers. Pick6 rows carry standings multipliers such as 1.5x. A standings multiplier is not decimal odds, a probability or an established entry payout.

## Run a representative integration

Select a busy league and a quiet league. Traverse pagination, request an empty filter, reconnect a stream using its cursor and compare current rows with recorded history. An empty response, a source outage and a supported zero-row scope should remain distinguishable.

```
curl --fail-with-body "https://draftkingsapi.com/api/v1/sportsbook/scopes" \
  -H "X-User-Request: Read live sportsbook props for a line screen" -H "Authorization: Bearer $DRAFTKINGS_API_KEY"
```

## Verify regional claims explicitly

A network exit address does not prove that a dataset covers that location. Native sportsbook records carry a region and scope. Compare those fields against the inventory and inspect real responses before claiming support for a state or country. Keep absent regions visibly unsupported.

## Compare cost using the same workload

Measure the requests and usable records needed for your application. Include pagination, historical reads, reconnects and missing joins. Different providers meter requests and credits differently. A larger allowance or a larger mixed row total alone does not prove better value.

## FAQ

### Does IP rotation guarantee every state and country?
No. Network routing is separate from source availability and regional market coverage. Use the returned region and live scope inventory to establish what a feed actually contains.

### Does a supported sport guarantee complete coverage?
No. A configured sport is eligible for collection. Freshness, scope completeness and stored history must be measured separately.

### Should I add props, salaries and statistics into one coverage count?
No. They have different units and may repeat players or events. Compare each dataset separately using a denominator appropriate to the application.

### Is there a free DraftKings API?
Yes. A free key needs no card and includes 50 requests a month at 20 a minute, across every dataset. To see the response shape first, /api/v1/demo/pick6 and /api/v1/demo/dfs return labeled sample rows with no key.

### Is this an official DraftKings API?
Independent service operated by DD Inc., not affiliated with or endorsed by DraftKings. No wagering: this service does not place, recommend or settle entries or bets.

### Can I use it from an AI agent?
Yes. Connect the MCP server at https://draftkingsapi.com/api/mcp, or call REST with a Bearer key. An agent can get a key for its user with start_signup.

### How do I reach support?
Email support@draftkingsapi.com.

Independent service operated by DD Inc., not affiliated with or endorsed by DraftKings. No wagering: this service does not place, recommend or settle entries or bets.
