FanDuel API endpoint
Lists every wager type the racing service offers (71 on 2026-10-24: Win, Place, Show, Exacta, Trifecta, Superfecta, Daily Double, the Pick bets, Quinella and the international Tote bets) with its code, name, description, group, and structure: legs, columns, positions, and whether it is a box, key or wheel.
/fanduel/racing/wager-typesNone.
WN), Place (PL), Show (SH), Exacta (EX), Trifecta (TR), Superfecta (SU), Daily Double (DB), the Pick bets (P3 to P10), Quinella (QN) and the international Tote bets.leg_count, column_count and position_count describe the bet's structure; is_box, is_key and is_wheel mark combination bets. Minimum and maximum amounts are per race and appear on the race route.Data is read from FanDuel Racing's own public service and is shown as published at the time of the request; it is not a betting recommendation, and prices, pools and statuses change by the minute. 503 on upstream failure.
| Field | Filled in, of 71 checked | Values in the sample |
|---|---|---|
| id | 71 | |
| code | 71 | |
| name | 71 | “Daily Double” and 70 other values |
| description | 28 | “1st in next 2 races” and 27 other values |
| group | 71 | |
| leg_count | 71 | 1 to 10, median 1 |
| column_count | 71 | 1 to 12, median 3 |
| position_count | 71 | 1 to 12, median 4 |
| column_type | 50 | Leg (34), Pos (16) |
| is_box | 71 | true in 11 of 71 |
| is_key | 71 | |
| is_wheel | 71 | true in 7 of 71 |
| pools_per_entry | 71 | 1 to 3, median 1 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/fanduel/racing/wager-types" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"data": {
"count": 8,
"wager_types": [
{
"id": 310,
"code": "DB",
"name": "Daily Double",
"description": "1st in next 2 races",
"group": {
"code": "DB",
"name": "Daily Double"
},
"leg_count": 2,
"column_count": 2,
"position_count": 2,
"column_type": "Leg",
"is_box": false,
"is_key": false,
"is_wheel": false,
"pools_per_entry": 1
}
],
"fetched_at": "2026-10-23T16:09:31Z"
},
"msg": "OK"
}Request schema
No body schema
Response schema
#/definitions/fanduel.racingWagerTypesResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | fanduel.RacingWagerTypesResponse | No | ||||
| data.count | integer | No | ||||
| data.fetched_at | string | No | ||||
| data.wager_types | array | No | ||||
| data.wager_types[].code | string | No | ||||
| data.wager_types[].column_count | integer | No | ||||
| data.wager_types[].column_type | string | No | ||||
| data.wager_types[].description | string | No | ||||
| data.wager_types[].group | fanduel.RacingCodeName | No | ||||
| data.wager_types[].group.code | string | No | ||||
| data.wager_types[].group.name | string | No | ||||
| data.wager_types[].id | integer | No | ||||
| data.wager_types[].is_box | boolean | No | ||||
| data.wager_types[].is_key | boolean | No | ||||
| data.wager_types[].is_wheel | boolean | No | ||||
| data.wager_types[].leg_count | integer | No | ||||
| data.wager_types[].max_wager | number | No | ||||
| data.wager_types[].min_wager | number | No | ||||
| data.wager_types[].name | string | No | ||||
| data.wager_types[].pools_per_entry | integer | No | ||||
| data.wager_types[].position_count | integer | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/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/fanduel/racing/wager-types" \
-H "x-api-key: $CRAWLORA_API_KEY"