FanDuel API endpoint
Returns a page of a casino category's games in the lobby's own order, with each game's slug, name, studio, badge (`Exclusive`, `Jackpot`), whether it is flagged as a site-wide jackpot game, and a link to its page. `providers` and `badges` count the whole category so the values the `provider` and `badge` filters accept are always visible; `q` matches every word against the game name. `all-games`, `slots` and `double-your-bet-category` hold the whole catalog (about 3,800 games) in one 30MB page, so their first call is slow and the parsed list is then cached for 15 minutes.
/fanduel/casino/categoryregion (optional): the lobby, mi (Michigan, default) or on (Ontario). A category the chosen lobby lacks returns 400 and lists the lobby's categories.category (required, Michigan): all-games, new, slots, double-your-bet-category, jackpots, daily-jackpots, hot-slots, classic-reels-category, bonus-buy-category, high-limit-category, spooky-slots-category, exclusives, pick-play, arcade, blackjack, baccarat, roulette, table, livecasino, online-casino-favorites, explore-videos, motorcity-favorites. Any other value returns 400 (the casino site would answer an unknown category with HTTP 200 and no games). For region=on the categories are all-games, new, slots, double-your-bet-category, jackpots, daily-jackpots, high-limit-category, spooky-slots-category, exclusives, pick-play, arcade, blackjack, baccarat, roulette, table, livecasino, explore-videos, fallsview-favourites-category, the-wolf-den-category, sports-central; see the categories route.q (optional): words to find in the game name, such as huff puff; every word must match, ignoring case, apostrophes, hyphens and periods.provider (optional): keep only games from this studio, exactly as listed in the response providers (NYX, Evolution, IGT, DGC, WhiteHat, Playtech, Fusion, Everi, GameCode on 2026-10-24). A value the category does not have returns 400 and names the values it has.badge (optional): keep only games with this badge, exactly as listed in the response badges (Exclusive and Jackpot were seen). A value the category does not have returns 400.limit (optional): games per page, 1 to 200; default 50.offset (optional): games to skip; default 0.category_total counts the whole category and total the games left after the filters; providers and badges always count the whole category, so every valid filter value is visible.position is 1-based).site_wide_jackpot is the lobby's own flag for games in its site-wide jackpot (3,364 of 3,797 on 2026-10-24).all-games, slots and double-your-bet-category hold the whole catalog in one page of about 30MB decompressed (4.5MB on the wire), so their first call takes several seconds; the parsed list is cached for 15 minutes (cached_at), and a failed refresh serves the previous copy.503 rather than an empty list.Data is read from the FanDuel Casino lobby's public pages and is shown as published at the time of the request; it is not gambling advice, and player counts and rankings change by the minute. 503 on upstream failure, including when the casino site serves a bot-check page instead of the requested page.
| Field | Filled in, of 15 checked | Values in the sample |
|---|---|---|
| slug | 15 | |
| name | 15 | “Huff N' Lots of Puff Grand” and 14 other values |
| provider | 15 | NYX in all 15 |
| badge | 4 | Exclusive (3), New (1) |
| site_wide_jackpot | 15 | true in 15 of 15 |
| position | 15 | 1 to 15, median 8 |
| game_url | 15 | casino.fanduel.ca |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| region | string | No | Lobby: `mi` Michigan (default) or `on` Ontario Allowed values: mi, on. | ||
| category | string | Yes | Category slug from the `categories` route for the same `region`. Michigan has `all-games`, `new`, `slots`, `double-your-bet-category`, `jackpots`, `daily-jackpots`, `hot-slots`, `classic-reels-category`, `bonus-buy-category`, `high-limit-category`, `spooky-slots-category`, `exclusives`, `pick-play`, `arcade`, `blackjack`, `baccarat`, `roulette`, `table`, `livecasino`, `online-casino-favorites`, `explore-videos`, `motorcity-favorites`; Ontario has the same list without `hot-slots`, `classic-reels-category`, `bonus-buy-category`, `online-casino-favorites` and `motorcity-favorites`, and adds `fallsview-favourites-category`, `the-wolf-den-category`, `sports-central`. A slug the lobby lacks returns `400` Allowed values: all-games, new, slots, double-your-bet-category, jackpots, daily-jackpots, hot-slots, classic-reels-category, bonus-buy-category, high-limit-category, spooky-slots-category, exclusives, pick-play, arcade, blackjack, baccarat, roulette, table, livecasino, online-casino-favorites, explore-videos, motorcity-favorites, fallsview-favourites-category, the-wolf-den-category, sports-central. | blackjack | |
| q | string | No | Words to find in the game name, such as `huff puff`; every word must match | ||
| provider | string | No | Keep only games from this studio, exactly as listed in the response `providers` (for example `NYX`, `Evolution`, `IGT`); a value the category does not have returns `400` | ||
| badge | string | No | Keep only games with this badge, exactly as listed in the response `badges` (for example `Exclusive`, `Jackpot`) | ||
| limit | integer | No | Games per page, 1 to 200; default 50 Minimum: 1. Maximum: 200. | ||
| offset | integer | No | Games to skip; default 0 Minimum: 0. | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/fanduel/casino/category?region=mi&category=blackjack&q=coffee&limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"data": {
"category": {
"slug": "exclusives",
"title": "Exclusives"
},
"category_total": 13,
"total": 13,
"limit": 2,
"offset": 0,
"providers": [
{
"value": "NYX",
"count": 5
}
],
"badges": [
{
"value": "Exclusive",
"count": 9
}
],
"games": [
{
"slug": "huff-n-lots-of-puff-grand",
"name": "Huff N' Lots of Puff Grand",
"provider": "NYX",
"badge": "Exclusive",
"site_wide_jackpot": true,
"position": 1,
"game_url": "https://casino.fanduel.com/game/huff-n-lots-of-puff-grand"
}
],
"cached_at": "2026-10-23T18:09:37Z",
"fetched_at": "2026-10-23T18:09:37Z"
},
"msg": "OK"
}Request schema
No body schema
Response schema
#/definitions/fanduel.casinoCategoryResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | fanduel.CasinoCategoryResponse | No | ||||
| data.badges | array | No | ||||
| data.badges[].count | integer | No | ||||
| data.badges[].value | string | No | ||||
| data.cached_at | string | No | ||||
| data.category | fanduel.CasinoCategory | No | ||||
| data.category.note | string | No | ||||
| data.category.slug | string | No | ||||
| data.category.title | string | No | ||||
| data.category_total | integer | No | ||||
| data.fetched_at | string | No | ||||
| data.games | array | No | ||||
| data.games[].badge | string | No | ||||
| data.games[].game_url | string | No | ||||
| data.games[].name | string | No | ||||
| data.games[].position | integer | No | ||||
| data.games[].provider | string | No | ||||
| data.games[].site_wide_jackpot | boolean | No | ||||
| data.games[].slug | string | No | ||||
| data.limit | integer | No | ||||
| data.lobby | string | No | ||||
| data.offset | integer | No | ||||
| data.providers | array | No | ||||
| data.providers[].count | integer | No | ||||
| data.providers[].value | string | No | ||||
| data.region | string | No | ||||
| data.total | integer | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/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/casino/category?region=mi&category=blackjack&q=coffee&limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"