FanDuel API endpoint
Returns a team's roster with each player's roster `status` (for example `ACT`, `PRA`, `IR`, `IRD`, `UFA`, `TWO-WAY`) and `injury_status` (observed `Q` and `O`; empty when healthy). `statuses`, `injury_statuses` and `positions` count the whole roster so valid filter values are discoverable. Available for the NFL and NBA only.
/fanduel/sportsbook/team/rosterReturns a team's roster. Each player has a roster status and, when injured, an injury_status. This is the Sportsbook's injury report: use injured_only=true for the injured players of one team.
league (required): nfl, nba, mlb, college-football, college-basketball. Any other value returns 400. Rosters exist for nfl and nba only.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.injured_only (optional, true or false, default false): keep only players with an injury designation.status (optional): keep only this roster status code, such as IR. Case-insensitive; the codes present are listed in the response statuses.position (optional): keep only this position code, such as QB. Case-insensitive; the codes present are listed in positions.injury_status codes: Q and O. Observed roster status codes: ACT, PRA, IR, IRD, UFA, - (NFL) and ACT, TWO-WAY (NBA). They are the Sportsbook's raw codes and are not expanded, so new codes appear as published.statuses, injury_statuses and positions count the whole roster before any filter, so valid filter values are always discoverable.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 81 checked | Values in the sample |
|---|---|---|
| name | 81 | “Carson Beck” and 80 other values |
| slug | 79 | |
| number | 81 | “19” and 74 other values |
| position | 81 | “QB” and 15 other values |
| status | 81 | ACT (54), PRA (12), IR (9) and 3 more |
| height | 81 | |
| weight | 78 | 181 to 340, median 246 |
| experience | 81 | “Rookie” and 11 other values |
| college | 81 | “Miami (FL)” and 56 other values |
| photo_url | 81 | assets.sportsbook.fanduel.com |
| injury_status | 8 | O (5), Q (3) |
| 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 | |
| injured_only | boolean | No | Return only players with an injury designation; default false | ||
| status | string | No | Keep only this roster status code, such as `IR`; valid codes are listed in the response `statuses` | ||
| position | string | No | Keep only this position code, such as `QB`; valid codes are listed in the response `positions` | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/fanduel/sportsbook/team/roster?league=nfl&team=arizona-cardinals&injured_only=true" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"data": {
"league": "nfl",
"team": "arizona-cardinals",
"players": [
{
"name": "Trey Benson",
"slug": "trey-benson-55907",
"number": "33",
"position": "RB",
"status": "IR",
"injury_status": "O",
"height": "6'0\"",
"weight": 225,
"experience": "2",
"college": "Florida State",
"photo_url": "https://assets.sportsbook.fanduel.com/images/team/nfl/arizona_cardinals_jersey.svg"
},
{
"name": "James Conner",
"slug": "james-conner-53421",
"number": "6",
"position": "RB",
"status": "IRD",
"injury_status": "O",
"height": "6'1\"",
"weight": 233,
"experience": "9",
"college": "Pittsburgh",
"photo_url": "https://assets.sportsbook.fanduel.com/images/team/nfl/arizona_cardinals_jersey.svg"
}
],
"statuses": [
{
"value": "ACT",
"count": 6
},
{
"value": "PRA",
"count": 3
},
{
"value": "IR",
"count": 2
}
],
"injury_statuses": [
{
"value": "O",
"count": 3
},
{
"value": "Q",
"count": 1
}
],
"positions": [
{
"value": "RB",
"count": 7
},
{
"value": "QB",
"count": 3
},
{
"value": "WR",
"count": 2
}
],
"fetched_at": "2026-10-23T14:02:44Z"
},
"msg": "OK"
}Request schema
No body schema
Response schema
#/definitions/fanduel.sportsbookRosterResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | fanduel.SportsbookRosterResponse | No | ||||
| data.fetched_at | string | No | ||||
| data.injury_statuses | array | No | ||||
| data.injury_statuses[].count | integer | No | ||||
| data.injury_statuses[].value | string | No | ||||
| data.league | string | No | ||||
| data.players | array | No | ||||
| data.players[].college | string | No | ||||
| data.players[].experience | string | No | ||||
| data.players[].height | string | No | ||||
| data.players[].injury_status | string | No | ||||
| data.players[].name | string | No | ||||
| data.players[].number | string | No | ||||
| data.players[].photo_url | string | No | ||||
| data.players[].position | string | No | ||||
| data.players[].slug | string | No | ||||
| data.players[].status | string | No | ||||
| data.players[].weight | integer | No | ||||
| data.positions | array | No | ||||
| data.positions[].count | integer | No | ||||
| data.positions[].value | string | No | ||||
| data.statuses | array | No | ||||
| data.statuses[].count | integer | No | ||||
| data.statuses[].value | string | No | ||||
| data.team | string | 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/roster?league=nfl&team=arizona-cardinals&injured_only=true" \
-H "x-api-key: $CRAWLORA_API_KEY"