FanDuel API endpoint
Returns a team's depth chart (rank, position, college, age and draft details) and its statistical leaders. Available for the NFL only; other leagues return 400 listing their pages.
/fanduel/sportsbook/team/depth-chartleague (required): nfl, nba, mlb, college-football, college-basketball. Any other value returns 400. Depth charts exist for nfl only; other leagues return 400.team (required): team slug from the teams route (groups[].teams[].slug), such as arizona-cardinals. A malformed slug returns 400; a slug the league does not have returns 404.rank is the Sportsbook's depth rank within the position group (0 marks the team-level entry).team_leaders is keyed by statistic (for example total_passing_touchdowns) with the leading player and value.Data is read from the Sportsbook's own team pages and is shown as published at the time of the request; it is not a betting recommendation. 503 on upstream failure, including when the Sportsbook serves a bot-check page instead of the team page.
| Field | Filled in, of 82 checked | Values in the sample |
|---|---|---|
| rank | 80 | 0 to 5, median 1 |
| name | 82 | “Arizona Cardinals” and 81 other values |
| slug | 80 | |
| position | 80 | “D” and 15 other values |
| college | 78 | “Northwestern” and 55 other values |
| age | 78 | 22 to 36, median 26 |
| draft_year | 53 | 2,016 to 2,026, median 2,023 |
| draft_round | 53 | 1 to 7, median 4 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| league | string | Yes | League: `nfl`, `nba`, `mlb`, `college-football`, `college-basketball` Allowed values: nfl, nba, mlb, college-football, college-basketball. | nfl | |
| team | string | Yes | Team slug from the `teams` route (`groups[].teams[].slug`), such as `arizona-cardinals` | arizona-cardinals | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/fanduel/sportsbook/team/depth-chart?league=nfl&team=arizona-cardinals" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"data": {
"league": "nfl",
"team": "arizona-cardinals",
"players": [
{
"rank": "0",
"name": "Arizona Cardinals",
"slug": "arizona-cardinals-2892",
"position": "D"
},
{
"rank": "0",
"name": "Evan Hull",
"slug": "evan-hull-55656",
"position": "RB",
"college": "Northwestern",
"age": 25,
"draft_year": "2023",
"draft_round": "5"
}
],
"team_leaders": {
"total_passing_touchdowns": {
"leader": {
"name": "Jacoby Brissett",
"number_fire_player_slug": "jacoby-brissett-53222",
"player_info": {
"position": "QB"
}
},
"stat_label": "Total Passing Touchdowns",
"stat_value": 9
},
"total_passing_yards": {
"leader": {
"name": "Jacoby Brissett",
"number_fire_player_slug": "jacoby-brissett-53222",
"player_info": {
"position": "QB"
}
},
"stat_label": "Total Passing Yards",
"stat_value": 1328
},
"total_receiving_touchdowns": {
"leader": {
"name": "Trey McBride",
"number_fire_player_slug": "trey-mcbride-55232",
"player_info": {
"position": "TE"
}
},
"stat_label": "Total Receiving Touchdowns",
"stat_value": 3
},
"total_receiving_yards": {
"leader": {
"name": "Trey McBride",
"number_fire_player_slug": "trey-mcbride-55232",
"player_info": {
"position": "TE"
}
},
"stat_label": "Total Receiving Yards",
"stat_value": 361
},
"total_rushing_touchdowns": {
"leader": {
"name": "Jacoby Brissett",
"number_fire_player_slug": "jacoby-brissett-53222",
"player_info": {
"position": "QB"
}
},
"stat_label": "Total Rushing Touchdowns",
"stat_value": 1
},
"total_rushing_yards": {
"leader": {
"name": "Jeremiyah Love",
"number_fire_player_slug": "jeremiyah-love-56626",
"player_info": {
"position": "RB"
}
},
"stat_label": "Total Rushing Yards",
"stat_value": 245
}
},
"fetched_at": "2026-10-23T14:02:44Z"
},
"msg": "OK"
}Request schema
No body schema
Response schema
#/definitions/fanduel.sportsbookDepthChartResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | fanduel.SportsbookDepthChartResponse | No | ||||
| data.fetched_at | string | No | ||||
| data.league | string | No | ||||
| data.players | array | No | ||||
| data.players[].age | integer | No | ||||
| data.players[].college | string | No | ||||
| data.players[].draft_pick | string | No | ||||
| data.players[].draft_round | string | No | ||||
| data.players[].draft_year | string | No | ||||
| data.players[].name | string | No | ||||
| data.players[].position | string | No | ||||
| data.players[].rank | string | No | ||||
| data.players[].slug | string | No | ||||
| data.team | string | No | ||||
| data.team_leaders | object | 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/sportsbook/team/depth-chart?league=nfl&team=arizona-cardinals" \
-H "x-api-key: $CRAWLORA_API_KEY"