DraftKings Daily Fantasy Sports API endpoint
Returns the public Daily Fantasy rules and scoring overview plus visible sports and contest-style rules. Each rule includes upstream game-type IDs and sanitized scoring content. Hidden records, including XFL rules, are omitted; contests, players, prizes, lineups, and account data are not returned.
/draftkings/dfs/rules-and-scoringParameters: none.
Returns the public Rules & Scoring overview, visible sports and contest styles, their upstream game-type IDs, and sanitized HTML plus plain text for each rule. Hidden source records, including XFL styles, are omitted. It does not return contests, players, prizes, lineups, or account data.
Notable response behavior: sport_count and rule_count include only visible
sport rules; overview is returned separately. The current feed has 23 visible
sports, 111 visible sport rules, and 173 unique game-type IDs. The response uses
a 30-minute fresh and 24-hour stale cache. Upstream 403 or transport failures
retain the stale response when one is available.
Billing: 2 credits per request.
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/draftkings/dfs/rules-and-scoring" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"source_url": "https://api.draftkings.com/rules-and-scoring/RulesAndScoring.json",
"fetched_at": "2026-10-24T09:21:00Z",
"sport_count": 23,
"rule_count": 111,
"game_type_count": 173,
"overview": {
"name": "Overview",
"slug": "overview",
"sort_order": 1,
"game_types": [],
"content_html": "<h2>Overview</h2><h3>Draft Styles</h3><p>...</p>",
"content_text": "Overview Draft Styles ..."
},
"sports": [
{
"id": 1,
"name": "NFL",
"slug": "nfl",
"sort_order": 1,
"rule_count": 21,
"rules": [
{
"name": "NFL Classic",
"slug": "classic",
"sort_order": 1,
"game_types": [
1,
158
],
"content_html": "<h2>NFL Classic</h2><h3>Scoring</h3><table>...</table>",
"content_text": "NFL Classic Scoring Passing TD +4 Pts ..."
}
]
}
]
}
}Request schema
No body schema
Response schema
#/definitions/dfs.dfsRulesAndScoringResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | dfs.DFSRulesAndScoringResponse | No | ||||
| data.fetched_at | string | No | ||||
| data.game_type_count | integer | No | ||||
| data.overview | dfs.DFSScoringRule | No | ||||
| data.overview.content_html | string | No | ||||
| data.overview.content_text | string | No | ||||
| data.overview.game_types | array | No | ||||
| data.overview.name | string | No | ||||
| data.overview.slug | string | No | ||||
| data.overview.sort_order | integer | No | ||||
| data.rule_count | integer | No | ||||
| data.source_url | string | No | ||||
| data.sport_count | integer | No | ||||
| data.sports | array | No | ||||
| data.sports[].id | integer | No | ||||
| data.sports[].name | string | No | ||||
| data.sports[].rule_count | integer | No | ||||
| data.sports[].rules | array | No | ||||
| data.sports[].rules[].content_html | string | No | ||||
| data.sports[].rules[].content_text | string | No | ||||
| data.sports[].rules[].game_types | array | No | ||||
| data.sports[].rules[].name | string | No | ||||
| data.sports[].rules[].slug | string | No | ||||
| data.sports[].rules[].sort_order | integer | No | ||||
| data.sports[].slug | string | No | ||||
| data.sports[].sort_order | integer | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/draftkings/dfs/rules-and-scoring" \
-H "x-api-key: $CRAWLORA_API_KEY"