Integration GuidesReference Docs
Coverage MatrixDocumentationChange LogLog InContact Us
Integration Guides

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

FeedScopeUse
Team Rosterteam GUIDFull roster, coaches, franchise info and honors
Player Profileplayer GUIDBio plus per-season statistics
Game Rostergame GUIDGame-day availability and officials
Weekly Injuriesseason + weekInjury designations and practice status
Weekly Depth Chartsseason + weekPosition depth by unit
Daily Transactionsleague dayPlayer 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:

BIRMINGHAM STALLIONS · OFFENSEWeek 10 Depth
QBDorian Thompson-RobinsonMichael HiersDonovan Smith
RBTyrion Davis-PriceSnoop Conner
Dark pill = first on the depth chart.

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

Did this page help you?