Retrieving Rosters and Players
Five feeds cover who is on a UFL roster, who is available this week, and who moved: Team Roster, Player Profile, Game Roster, Weekly Injuries, Weekly Depth Charts, and Daily Transactions. This scenario builds team and player pages and keeps them current.
This scenario is commonly used to:
- Build team pages with rosters, coaches, and franchise information
- Build player pages with biographical and season data
- Show weekly availability: injuries, practice participation, and depth charts
- Track signings, releases, and other player movement
Relevant Feeds
| Feed | Scope | Use |
|---|---|---|
| Team Roster | team GUID | Full roster, coaches, franchise info and honors |
| Player Profile | player GUID | Bio plus per-season statistics |
| Game Roster | game GUID | Game-day availability and officials |
| Weekly Injuries | season + week | Injury designations and practice status |
| Weekly Depth Charts | season + week | Position depth by unit |
| Daily Transactions | league day | Player movement |
Integration Steps
1. Build the team page
The Team Roster feed carries the franchise record (founding year, owner, general manager, championship and title counts), the home venue, division and conference placement, the coaching staff, and the full player list:
{
"id": "ff1f47e0-b8ef-11f0-9440-2f32b8d49d12",
"name": "Kings",
"market": "Louisville",
"alias": "LOU",
"sr_id": "sr:competitor:1320808",
"founded": 2026,
"owner": "Fox/RedBird Capital Partners",
"championships_won": 1,
"playoff_appearances": 1,
"franchise": {
"id": "073e9890-b8f0-11f0-9440-2f32b8d49d12",
"name": "Kings",
"alias": "LOU"
},
"venue": {
"id": "9e41a750-b8f0-11f0-8d80-75dca144275c",
"name": "Lynn Family Stadium",
"city": "Louisville",
"state": "KY",
"sr_id": "sr:venue:55649"
},
"division": {
"id": "c281ba41-b8f7-11f0-bff0-bb54b53201d3",
"name": "UFL Conference",
"alias": "UFL"
},
"conference": {
"id": "23f26d00-966b-11ec-aba0-0f22e7db39c9",
"name": "UFL",
"alias": "UFL"
},
"coaches": [
{
"id": "69901da0-ee67-11f0-af75-a5d5a7462b06",
"full_name": "Chris Redman",
"first_name": "Chris",
"last_name": "Redman",
"position": "Head Coach"
}
],
"players": [
{
"id": "1fb50210-f00e-11f0-843c-4f6a1fca4997",
"name": "Chandler Rogers",
"jersey": "4",
"last_name": "Rogers",
"first_name": "Chandler",
"abbr_name": "C.Rogers",
"birth_date": "2001-10-23",
"weight": 197.0,
"height": 72,
"position": "QB",
"birth_place": "Mansfield, TX, USA",
"high_school": "Lake Ridge (TX)",
"college": "California",
"college_conf": "Atlantic Coast Conference",
"status": "ACT"
}
]
}The response is shown trimmed to one coach and one player; the full roster returns every player under contract.
2. Drill into Player Profiles
The Player Profile adds biographical detail (birthplace, high school, college and conference) and a seasons[] array with one entry per season and season type played, each carrying that stint's statistics:
{
"id": "1fb50210-f00e-11f0-843c-4f6a1fca4997",
"name": "Chandler Rogers",
"jersey": "4",
"last_name": "Rogers",
"first_name": "Chandler",
"abbr_name": "C.Rogers",
"birth_date": "2001-10-23",
"weight": 197.0,
"height": 72,
"position": "QB",
"birth_place": "Mansfield, TX, USA",
"high_school": "Lake Ridge (TX)",
"college": "California",
"college_conf": "Atlantic Coast Conference",
"status": "ACT",
"team": {
"id": "ff1f47e0-b8ef-11f0-9440-2f32b8d49d12",
"name": "Kings",
"market": "Louisville",
"alias": "LOU",
"sr_id": "sr:competitor:1320808"
},
"seasons": [
{
"id": "4123d3de-ea19-4e5a-9320-d29026eb3df6",
"year": 2026,
"type": "PST",
"name": "PST",
"teams": [
{
"id": "ff1f47e0-b8ef-11f0-9440-2f32b8d49d12",
"name": "Kings",
"market": "Louisville",
"alias": "LOU",
"statistics": {
"games_played": 2,
"games_started": 2
}
}
]
},
{
"id": "4ee5ece0-6f0b-11f0-b1e6-2dad3ff60df1",
"year": 2026,
"type": "REG",
"name": "REG",
"teams": [
{
"id": "ff1f47e0-b8ef-11f0-9440-2f32b8d49d12",
"name": "Kings",
"market": "Louisville",
"alias": "LOU",
"statistics": {
"games_played": 9,
"games_started": 6
}
}
]
}
]
}The seasons are shown trimmed to games played and started; the full profile carries complete statistics per stint.
3. Read game-day availability
The Game Roster reflects one game. Player rows carry two signals: status is the participation state (dnp, played, started, deactivated), and in_game_status the availability state (active, probable, questionable, doubtful, out, benched, unknown). When a game is created, every player reads dnp; values adjust to started and played as the game concludes. The feed also lists the officials by assignment:
{
"id": "475db4da-d8a9-49ee-b7a4-1239f916533a",
"status": "closed",
"scheduled": "2026-06-13T19:00:00+00:00",
"title": "United Bowl",
"home": {
"id": "ff1f47e0-b8ef-11f0-9440-2f32b8d49d12",
"name": "Kings",
"market": "Louisville",
"alias": "LOU",
"sr_id": "sr:competitor:1320808",
"players": [
{
"id": "82682490-f23f-11f0-8631-a930743d7aa9",
"name": "Kaden Prather",
"jersey": "10",
"position": "WR",
"status": "played",
"in_game_status": "active",
"college": "Maryland"
},
{
"id": "e242fe10-9728-11ec-adf4-f182bef15e92",
"name": "Juwann Bushell-Beatty",
"jersey": "72",
"position": "T",
"status": "started",
"in_game_status": "active",
"college": "Michigan"
}
]
},
"officials": [
{
"id": "798770e0-e893-11ee-9f60-0d0c2d295b70",
"full_name": "Kole Knueppel",
"number": "16",
"assignment": "referee"
},
{
"id": "34fb7840-2964-11f1-b427-ef5072ec8193",
"full_name": "Art Brown",
"number": "3",
"assignment": "umpire"
},
{
"id": "d71e79f0-d93b-11ed-8793-6d91ae388f0d",
"full_name": "Sergio DeHoyos",
"number": "34",
"assignment": "downjudge"
},
{
"id": "79671510-d93b-11ed-9d58-3fcb4db0b8bb",
"full_name": "Chad Green",
"number": "51",
"assignment": "linejudge"
},
{
"id": "0f84cce0-d93c-11ed-8793-6d91ae388f0d",
"full_name": "Michael Kennedy",
"number": "48",
"assignment": "fieldjudge"
},
{
"id": "a76a40d0-b44e-11ec-8007-e99d55deb2ea",
"full_name": "Tuta Salaam",
"number": "9",
"assignment": "sidejudge"
},
{
"id": "07114ed0-e895-11ee-a97e-eb32c10de2e7",
"full_name": "Justin Staehr",
"number": "19",
"assignment": "backjudge"
},
{
"id": "8f23aa10-3524-11f1-81fb-e1bdd8ddc295",
"full_name": "Mike Hill",
"number": "0",
"assignment": "replayofficial"
}
]
}The response is shown trimmed to two home players.
4. Track weekly availability
Weekly Injuries lists injured players per team with the injury (primary, and secondary where present), a game-status designation (Questionable, Doubtful, Out), and a practice participation status. The designation can be absent while a player still appears with a practice note:
{
"season": {
"id": "4ee5ece0-6f0b-11f0-b1e6-2dad3ff60df1",
"year": 2026,
"type": "REG"
},
"week": {
"id": "94bf1a30-6f0f-11f0-8ccc-9d0033d58091",
"sequence": 10,
"title": "10"
},
"teams": [
{
"id": "38355600-c045-11ee-8037-85feac748e1f",
"name": "Renegades",
"market": "Dallas",
"alias": "DAL",
"sr_id": "sr:competitor:661843",
"players": [
{
"id": "8b805ea0-885c-11f0-adb9-af155f62f21a",
"name": "Ellis Merriweather",
"jersey": "35",
"position": "RB",
"injuries": [
{
"status": "Out",
"status_date": "2026-05-27T00:00:00+00:00",
"practice": {
"status": "Did Not Participate In Practice"
},
"primary": "L Ankle"
}
]
}
]
},
{
"id": "a3407150-c045-11ee-b66f-5d382d09dbaf",
"name": "Defenders",
"market": "DC",
"alias": "DC",
"sr_id": "sr:competitor:661851",
"players": [
{
"id": "0d4f2a10-e25a-11ee-89a8-6317b3c921ad",
"name": "Yasir Durant",
"jersey": "70",
"position": "T",
"injuries": [
{
"status": "Out",
"status_date": "2026-05-29T00:00:00+00:00",
"practice": {
"status": "Did Not Participate In Practice"
},
"primary": "L Knee"
}
]
}
]
}
]
}Weekly Depth Charts arrange each team's offense, defense, and special_teams by position with a depth order per player:
{
"season": {
"id": "4ee5ece0-6f0b-11f0-b1e6-2dad3ff60df1",
"year": 2026,
"type": "REG"
},
"week": {
"id": "94bf1a30-6f0f-11f0-8ccc-9d0033d58091",
"sequence": 10,
"title": "10"
},
"teams": [
{
"id": "f4305130-9675-11ec-8570-4594a07130f0",
"name": "Stallions",
"market": "Birmingham",
"alias": "BHM",
"sr_id": "sr:competitor:882409",
"offense": [
{
"position": {
"name": "QB",
"players": [
{
"id": "caf18680-f00e-11f0-825f-69d04c6e0c48",
"name": "Dorian Thompson-Robinson",
"jersey": "2",
"position": "QB",
"depth": 1
},
{
"id": "b9fdedb0-fd9b-11f0-9d6c-959499450594",
"name": "Michael Hiers",
"jersey": "7",
"position": "QB",
"depth": 2
},
{
"id": "4916d6c0-f00d-11f0-9294-2d1abb51a726",
"name": "Donovan Smith",
"jersey": "18",
"position": "QB",
"depth": 3
}
]
}
},
{
"position": {
"name": "RB",
"players": [
{
"id": "7382a240-9e87-11f0-8813-0563b9f86856",
"name": "Tyrion Davis-Price",
"jersey": "9",
"position": "RB",
"depth": 1
},
{
"id": "5e95dbc0-f663-11f0-b4e4-3d04bae83a93",
"name": "Snoop Conner",
"jersey": "24",
"position": "RB",
"depth": 2
}
]
}
}
]
}
]
}Both responses are shown trimmed to a sample of teams and positions. week_number is a zero-padded string (01 through 12). The position rows above render as a depth chart card:
5. Track player movement
Daily Transactions returns all transfers created during the league-defined day (04:00:00Z to 03:59:59Z), each with a description, a transaction_code, the effective date, and the player's status before and after. Contract terminations for players signing elsewhere, releases, signings, and list moves all flow through here:
{
"league": {
"id": "d441365f-cfab-49d6-9976-6c95d91fdef7",
"name": "United Football League",
"alias": "UFL"
},
"start_time": "2026-06-15T04:00:00Z",
"end_time": "2026-06-16T03:59:59Z",
"players": [
{
"id": "00ef6e20-eec6-11ed-9d29-c53168eca067",
"name": "Kaden Davis",
"first_name": "Kaden",
"last_name": "Davis",
"position": "WR",
"transactions": [
{
"id": "a07bc150-6993-11f1-899a-1d7da2f8dac2",
"desc": "The Houston Gamblers terminated the contract of WR Kaden Davis due to him signing with an NFL team.",
"effective_date": "2026-06-15",
"last_modified": "2026-06-16T14:58:25+00:00",
"transaction_type": "Contract Expired",
"transaction_code": "CEXP",
"transaction_year": 2026,
"status_before": "ACT",
"status_after": "UFA",
"from_team": {
"id": "42b04b80-9676-11ec-9ad0-d3ebe46bbb12",
"name": "Gamblers",
"market": "Houston",
"alias": "HOU",
"sr_id": "sr:competitor:882411"
}
}
]
},
{
"id": "0e5d5270-1132-11f1-8e56-090e129af1fd",
"name": "Tony Fields II",
"first_name": "Tony",
"last_name": "Fields",
"position": "MLB",
"transactions": [
{
"id": "e95a6340-6993-11f1-be8b-97f4681d49d7",
"desc": "The Columbus Aviators terminated the contract of MLB Tony Fields II due to him signing with an NFL team.",
"effective_date": "2026-06-15",
"last_modified": "2026-06-16T14:59:49+00:00",
"transaction_type": "Contract Expired",
"transaction_code": "CEXP",
"transaction_year": 2026,
"status_before": "ACT",
"status_after": "UFA",
"from_team": {
"id": "e3702f00-b8ef-11f0-9440-2f32b8d49d12",
"name": "Aviators",
"market": "Columbus",
"alias": "CLB",
"sr_id": "sr:competitor:1320802"
}
}
]
}
]
}A day with no movement returns the envelope with no players array:
{
"league": {
"id": "d441365f-cfab-49d6-9976-6c95d91fdef7",
"name": "United Football League",
"alias": "UFL"
},
"start_time": "2026-07-23T04:00:00Z",
"end_time": "2026-07-24T03:59:59Z"
}Player Statuses and Positions
Roster rows carry a league status such as ACT (active), IR (injured reserve), PRA (practice squad), SUS (suspended), RET (retired), or UFA (unsigned free agent); the UFL FAQs list the complete set alongside the transaction codes and position abbreviations. A player's in-game position can differ from the position on their profile.
Best Practices
- Key players by GUID; jersey numbers and even positions change
- Refresh Team Rosters after the Daily Change Log or Daily Transactions list movement, rather than on a fixed fast timer
- Pull Weekly Injuries and Depth Charts on game-week cadence; they are weekly report feeds, not live feeds
- Treat the Game Roster as the game-day truth for who dressed and started; the Team Roster is the contract-level view
Updated about 1 month ago
