FanDuel API endpoint
Returns every league, event and market the Sportsbook shows for one sport, with current odds, grouped by the sport page's tabs. Get `event_type_id` from the sports route.
/fanduel/sportsbook/sportReturns every league, event and market the Sportsbook shows for one sport, with current odds. Large sports (American football, basketball) return a multi-megabyte payload; use tab, competition_id, market_type or exclude_markets to narrow it.
event_type_id (required): sport id. One of 6423 (American Football), 1 (Soccer), 7522 (Basketball), 3 (Golf), 7511 (Baseball), 7524 (Ice Hockey), 2 (Tennis), 26420387 (Mixed Martial Arts), 2593174 (Table Tennis), 3503 (Darts), 6 (Boxing), 5 (Rugby Union), 4 (Cricket), 8 (Motor Sport), 1477 (Rugby League), 6422 (Snooker), 468328 (Handball), 28608997 (Lacrosse), 998917 (Volleyball), 4726642 (Surfing), 10 (Special Bets), 2378961 (Politics); availability differs by market: 998917 (Volleyball) was Ontario-only on 2026-10-23 and is now also offered in NJ, PA, CO and AZ, and a market that does not offer a sport (NY lists 12) returns 404, so list what a market offers with the sports route. Any other value returns 400. Get names from the sports route.state (optional, default nj): U.S. market whose Sportsbook host is queried. Prices and the markets offered can differ by state. One of ar, az, co, ct, dc, ia, il, in, ks, ky, la, ma, md, mi, mo, mr, nc, nj, ny, oh, on, pa, pr, tn, va, vt, wv, wy. Any other value returns 400.tab (optional): show only one tab of the page. Use a tabs[].slug value from the response (the lowercase, hyphenated tab title such as games, player-props, win-totals). Tabs are specific to the page, so the valid set is whatever the response lists; an unknown slug returns 400 naming the page's tabs.competition_id (optional): keep only events of this competition id, taken from the response competitions.market_type (optional, repeatable or comma-separated): keep only markets of these types, for example MONEY_LINE. The values present on the page are listed in the response market_types (with counts); a type the page lacks yields events with no markets. market_types is always the unfiltered census so you can discover values.exclude_markets (optional, true or false, default false): return events without their markets for a compact event listing.event_type_id echoes the sport page returned.400 for a missing or unsupported event_type_id or an unknown tab; 404 when the sport page is empty; 503 on upstream failure.state (for example the NFL league page lists 34 market types in nj and 25 in ny, va and vt); compare states with the same state value.The route is read-only and needs no account. Odds are shown as the Sportsbook publishes them for the chosen state at the moment of the request and are not a betting recommendation.
| Field | Filled in, of 112 checked | Values in the sample |
|---|---|---|
| event_id | 112 | |
| name | 112 | “NBA Player Awards” and 111 other values |
| event_type_id | 112 | |
| competition_id | 112 | |
| open_date | 112 | 2023-07-08 to 2099-01-01 |
| in_play | 112 | true in 0 of 112 |
| markets | 112 | median 3 entries |
| video_available | 54 | true in 54 of 54 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| event_type_id | string | Yes | Sport id: 6423 American Football; 1 Soccer; 7522 Basketball; 3 Golf; 7511 Baseball; 7524 Ice Hockey; 2 Tennis; 26420387 Mixed Martial Arts; 2593174 Table Tennis; 3503 Darts; 6 Boxing; 5 Rugby Union; 4 Cricket; 8 Motor Sport; 1477 Rugby League; 6422 Snooker; 468328 Handball; 28608997 Lacrosse; 998917 Volleyball, 4726642 Surfing, 10 Special Bets and 2378961 Politics; availability differs by market (Volleyball is also offered in NJ, PA, CO and AZ), and a sport a market does not offer returns 404 Allowed values: 6423, 1, 7522, 3, 7511, 7524, 2, 26420387, 2593174, 3503, 6, 5, 4, 8, 1477, 6422, 468328, 28608997, 998917, 4726642, 10, 2378961. | 7522 | |
| state | string | No | U.S. market to query (prices and offered markets differ by state); default nj Allowed values: ar, az, co, ct, dc, ia, il, in, ks, ky, la, ma, md, mi, mo, mr, nc, nj, ny, oh, on, pa, pr, tn, va, vt, wv, wy. | ||
| tab | string | No | Show only one tab of this page: a tab slug from the response `tabs[].slug` (the lowercase-hyphenated tab title, such as `games` or `player-props`). An unknown slug returns 400 listing the page's tabs | ||
| competition_id | integer | No | Keep only events of this competition id (from the response `competitions`) | ||
| market_type | string | No | Keep only these market types (repeat the parameter or comma-separate), for example `MONEY_LINE`. Valid values are listed in the response `market_types`; unmatched types return no markets | ||
| exclude_markets | boolean | No | Return events without their markets (a cheap event listing); `market_types` is still returned | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/fanduel/sportsbook/sport?event_type_id=7522&state=ar&exclude_markets=true" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"data": {
"state": "nj",
"page_type": "SPORT",
"event_type_id": 6423,
"title": "NFL Betting | FanDuel Sportsbook",
"description": "Bet on pro football with FanDuel! Join today for NFL live betting, odds, parlays, moneylines and more!",
"default_tab": "games",
"tabs": [
{
"id": "1676",
"title": "Games",
"slug": "games",
"event_count": 3,
"market_count": 9
},
{
"id": "100",
"title": "Win Totals",
"slug": "win-totals",
"event_count": 1,
"market_count": 5
},
{
"id": "559",
"title": "Player Props",
"slug": "player-props",
"event_count": 2,
"market_count": 3
}
],
"competitions": [
{
"competition_id": 12282733,
"name": "NFL",
"event_type_id": 6423
}
],
"events": [
{
"event_id": 34100802,
"name": "NFL Futures",
"event_type_id": 6423,
"competition_id": 12721217,
"open_date": "2026-03-06T18:48:05.000Z",
"in_play": false
}
],
"market_types": [
{
"type": "REGULAR_SEASON_WINS_SGP",
"count": 5
},
{
"type": "MATCH_HANDICAP_(2-WAY)",
"count": 3
},
{
"type": "MONEY_LINE",
"count": 3
}
],
"fetched_at": "2026-10-22T23:53:07Z"
},
"msg": "OK"
}Request schema
No body schema
Response schema
#/definitions/fanduel.sportsbookPageResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | fanduel.SportsbookPageResponse | No | ||||
| data.competition_id | integer | No | ||||
| data.competitions | array | No | SportsbookCompetition record, 4 fields: competition_id, event_type_id, name, region. Described under FanDuel Sportsbook homepage odds API. | |||
| data.custom_page_id | string | No | ||||
| data.default_tab | string | No | ||||
| data.description | string | No | ||||
| data.event_type_id | integer | No | ||||
| data.events | array | No | SportsbookEvent record, 31 fields: competition_id, event_id, event_type_id, in_play, markets, name, open_date, video_available. Described under FanDuel Sportsbook homepage odds API. | |||
| data.fetched_at | string | No | ||||
| data.market_types | array | No | ||||
| data.market_types[].count | integer | No | ||||
| data.market_types[].type | string | No | ||||
| data.page_type | string | No | ||||
| data.selected_tab | string | No | ||||
| data.state | string | No | ||||
| data.tabs | array | No | SportsbookTab record, 6 fields: event_count, id, live_count, market_count, slug, title. Described under FanDuel Sportsbook homepage odds API. | |||
| data.title | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 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/fanduel/sportsbook/sport?event_type_id=7522&state=ar&exclude_markets=true" \
-H "x-api-key: $CRAWLORA_API_KEY"