Docs
Coverage MatrixDocumentationRelease LogLog In

UFL FAQs

Frequently asked questions for UFL v7

Click on the categories below or browse questions on the right panel.

Categories

.


Coverage


How is each UFL game covered?

All UFL games feature full play-by-play coverage.



Integration


What format are date fields presented in?

When we present date only values we present these in the ISO 8601 standard format.

ex: 2013-04-03

We use these for attributes that have date and no time (such as birthdate). For more information: https://en.wikipedia.org/wiki/ISO_8601


What format are the date/time fields presented in?

All of our Date/Time attributes are in UTC, presented in the ISO 8601 standard format.

ex: 2013-04-03T18:15:00+00:00

For more information: https://en.wikipedia.org/wiki/ISO_8601


How do I locate the TTL (Time to Live)/cache on an API endpoint?

The cache (in seconds) can be accessed in the returned header information on each RESTful API call, under cache-control.

ex. cache-control: max-age=1, public, s-maxage=1 or
cache-control: public, must-revalidate, max-age=120



Game Statuses


What are the game statuses and their descriptions?

  • scheduled – The game is scheduled to occur.
  • created – Game data (rosters, officials, etc) are being pre-loaded in preparation for the game.
  • inprogress – The game is in progress.
  • halftime – The game is currently at halftime.
  • complete – The game is over, but stat validation is not complete.
  • closed – The game is over and the stats have been validated.
  • cancelled – The game has been cancelled. No makeup game will be played as a result.
  • postponed – The game has been postponed, to be made up at another day and time. Once the makeup game is announced, a new game and ID will be created and scheduled on the announced makeup date. You should request the scheduled feed(s) regularly to identify the re-scheduled makeup game(s).
  • delayed – The scheduled game, or a game that was in progress, is now delayed for some reason.
  • suspended – The game has been suspended and will be rescheduled in the future, continuing where they left off. The game ID will remain the same.
  • flex-schedule – The game is currently scheduled to occur on a specific date and time, however, it will more than likely be moved to a different time for broadcast purposes.
  • time-tbd – The game has been scheduled, but a time has yet to be announced.


Season Types


What are the season types and their descriptions?

  • PRE – Pre-season (not used in UFL)
  • REG – Regular season
  • PST – Post-season


Player Statuses


What are the player statuses and their descriptions?

Below is a list of the currently valid player statuses and their descriptions. Note that additional decommissioned statuses may appear in older seasons.

  • ACT - Active
  • DUP - Duplicate player profile. All profiles marked as duplicates can be ignored.
  • EXE - Exempt
  • IR - Injured Reserve
  • IRD - Injured Reserve - Designated for Return
  • NON - Non-football related injured reserve
  • NWT - Not with team
  • PRA - Practice Squad
  • PRA_IR - Practice Squad Injured Reserve
  • PUP - Physically unable to perform
  • RET - Retired
  • SUS - Suspended
  • UDF - Unsigned draft pick
  • UFA - Unsigned free agent

What are the player game statuses and when can I expect them to populate?

Below is a list of currently valid player game statuses.

  • deactivated
  • dnp (Did Not Play)
  • played
  • started

These player game statuses will appear within the Game Roster feed exclusively.

When a game is set to created all players are marked as dnp (Did Not Play). At the conclusion of the game players are adjusted to started and played as necessary.

<player id="56b26b71-8f1e-416c-a7e5-62cd67c98f4b" name="Matthew Orzech" jersey="42" 
last_name="Orzech" first_name="Matthew" abbr_name="M.Orzech" birth_date="1995-04-12" 
weight="245.0" height="75" position="LS" age="28" birth_place="San Diego, CA, USA" 
high_school="Paloma Valley (CA)" college="Azusa Pacific" college_conf="Great Northwest Athletic Conference" 
rookie_year="2019" status="played" sr_id="sr:player:1737543" in_game_status="active">
</player>
<player id="a93e2eb0-d264-11ec-b16e-cf7159baf83d" name="Zyon Gilbert" jersey="27" 
last_name="Gilbert" first_name="Zyon" abbr_name="Z.Gilbert" birth_date="1999-02-04" 
weight="182.0" height="73" position="CB" age="24" birth_place="Montgomery, AL, USA" 
high_school="Jefferson Davis (AL)" college="Florida Atlantic" college_conf="Conference USA" 
rookie_year="2022" status="dnp" sr_id="sr:player:1236108" in_game_status="active">
</player>
<player id="b5d116d8-11d4-43b1-8f0b-9a3ba26648c9" name="Elgton Jenkins" jersey="74" 
last_name="Jenkins" first_name="Elgton" abbr_name="E.Jenkins" birth_date="1995-12-26" weight="311.0" 
height="77" position="OL" age="27" birth_place="Clarksdale, MS, USA" high_school="Clarksdale (MS)" 
college="Mississippi State" college_conf="Southeastern Conference" rookie_year="2019" 
status="started" sr_id="sr:player:1203480" in_game_status="active">
</player>

{
    "id": "56b26b71-8f1e-416c-a7e5-62cd67c98f4b",
    "name": "Matthew Orzech",
    "jersey": "42",
    "last_name": "Orzech",
    "first_name": "Matthew",
    "abbr_name": "M.Orzech",
    "birth_date": "1995-04-12",
    "weight": 245.0,
    "height": 75,
    "position": "LS",
    "age": 28,
    "birth_place": "San Diego, CA, USA",
    "high_school": "Paloma Valley (CA)",
    "college": "Azusa Pacific",
    "college_conf": "Great Northwest Athletic Conference",
    "rookie_year": 2019,
    "status": "played",
    "sr_id": "sr:player:1737543",
    "in_game_status": "active"
},
{
    "id": "a93e2eb0-d264-11ec-b16e-cf7159baf83d",
    "name": "Zyon Gilbert",
    "jersey": "27",
    "last_name": "Gilbert",
    "first_name": "Zyon",
    "abbr_name": "Z.Gilbert",
    "birth_date": "1999-02-04",
    "weight": 182.0,
    "height": 73,
    "position": "CB",
    "age": 24,
    "birth_place": "Montgomery, AL, USA",
    "high_school": "Jefferson Davis (AL)",
    "college": "Florida Atlantic",
    "college_conf": "Conference USA",
    "rookie_year": 2022,
    "status": "dnp",
    "sr_id": "sr:player:1236108",
    "in_game_status": "active"
},
{
    "id": "b5d116d8-11d4-43b1-8f0b-9a3ba26648c9",
    "name": "Elgton Jenkins",
    "jersey": "74",
    "last_name": "Jenkins",
    "first_name": "Elgton",
    "abbr_name": "E.Jenkins",
    "birth_date": "1995-12-26",
    "weight": 311.0,
    "height": 77,
    "position": "OL",
    "age": 27,
    "birth_place": "Clarksdale, MS, USA",
    "high_school": "Clarksdale (MS)",
    "college": "Mississippi State",
    "college_conf": "Southeastern Conference",
    "rookie_year": 2019,
    "status": "started",
    "sr_id": "sr:player:1203480",
    "in_game_status": "active",
    "draft": {
        "year": 2019,
        "round": 2,
        "number": 44,
        "team": {
            "id": "a20471b4-a8d9-40c7-95ad-90cc30e46932",
            "name": "Packers",
            "market": "Green Bay",
            "alias": "GB",
            "sr_id": "sr:competitor:4420"
        }
    }
},

What are the possible in-game player status updates (player.in_game_status) in the Game Roster endpoint?

  • active
  • probable
  • questionable
  • doubtful
  • out
  • benched
  • unknown
<player id="bbd0942c-6f77-4f83-a6d0-66ec6548019e" name="Kirk Cousins" jersey="08" last_name="Cousins" 
first_name="Kirk" abbr_name="K.Cousins" birth_date="1988-08-19" weight="205.0" height="75" 
position="QB" age="35" birth_place="Barrington, IL, USA" high_school="Holland Christian (MI)" 
college="Michigan State" college_conf="Big Ten Conference" rookie_year="2012" status="started" 
sr_id="sr:player:828891" in_game_status="out">
    <draft year="2012" round="4" number="102">
        <team id="22052ff7-c065-42ee-bc8f-c4691c50e624" name="Commanders" market="Washington" alias="WAS" sr_id="sr:competitor:4432"/>
    </draft>
</player>   
{
    "id": "bbd0942c-6f77-4f83-a6d0-66ec6548019e",
    "name": "Kirk Cousins",
    "jersey": "08",
    "last_name": "Cousins",
    "first_name": "Kirk",
    "abbr_name": "K.Cousins",
    "birth_date": "1988-08-19",
    "weight": 205.0,
    "height": 75,
    "position": "QB",
    "age": 35,
    "birth_place": "Barrington, IL, USA",
    "high_school": "Holland Christian (MI)",
    "college": "Michigan State",
    "college_conf": "Big Ten Conference",
    "rookie_year": 2012,
    "status": "started",
    "sr_id": "sr:player:828891",
    "in_game_status": "out",
    "draft": {
        "year": 2012,
        "round": 4,
        "number": 102,
        "team": {
            "id": "22052ff7-c065-42ee-bc8f-c4691c50e624",
            "name": "Commanders",
            "market": "Washington",
            "alias": "WAS",
            "sr_id": "sr:competitor:4432"
        }
    }
},


Player Positions


What are the valid player positions?

Below is a list of player positions that appear in our feeds and their descriptions. Note that additional decommissioned positions may appear in older seasons.

  • C - Center
  • CB - Cornerback
  • DB - Defensive Back
  • DE - Defensive End
  • DL - Defensive Lineman
  • DT - Defensive Tackle
  • FB - Fullback
  • FS - Free Safety
  • G - Offensive Guard
  • K - Kicker
  • LB - Linebacker
  • LS - Long Snapper
  • MLB - Middle Linebacker
  • NT - Nose Tackle
  • OG - Offensive Guard
  • OL - Offensive Lineman
  • OLB - Outside Linebacker
  • OT - Offensive Tackle
  • P - Punter
  • QB - Quarterback
  • RB - Running Back
  • SAF - Safety
  • SS - Strong Safety
  • T - Offensive Tackle
  • TE - Tight End
  • WR - Wide Receiver

How are player positions handled?

Players may receive a “game” position, that position may not match the position listed on the player’s profile outside the game.



Play Types & Details


What are the valid play types?

  • pass
  • rush
  • faircatch_kick
  • extra_point
  • conversion
  • free_kick
  • kickoff
  • punt
  • field_goal
  • penalty

What are the valid event types?

  • setup
  • timeout
  • tv_timeout
  • two_minute_warning
  • comment
  • period_end
  • game_over

What are the possible detail categories?

  • aborted_snap
  • aborted_snap_recovery
  • blocked_kick
  • blocked_kick_recovery
  • defensive_conversion_fumble_recovery
  • defensive_conversion_interception_recovery
  • defensive_conversion_recovery
  • downed
  • extra_point_attempt
  • fair_catch
  • field_goal
  • field_goal_return
  • forced_fumble
  • fumble
  • fumble_out_of_bounds
  • kick_off
  • kick_off_return
  • lateral
  • muffed_kick
  • onside_kick_off
  • onside_kick_off_recovery
  • opponent_fumble_recovery
  • out_of_bounds
  • own_fumble_recovery
  • pass_completion
  • pass_incompletion
  • pass_interception
  • pass_interception_return
  • pass_reception
  • penalty
  • punt
  • punt_return
  • review
  • rush
  • sack
  • safety
  • tackle
  • touchback
  • touchdown
  • two_point_attempt
  • two_point_pass
  • two_point_return
  • two_point_rush
  • two_point_result
  • one_point_attempt
  • one_point_pass
  • one_point_return
  • one_point_rush
  • one_point_result
  • three_point_attempt
  • three_point_pass
  • three_point_return
  • three_point_rush
  • three_point_result
<detail category="pass_incompletion" sequence="1" direction="short middle">
    <description>J.Allen pass incomplete short middle intended for D.Knox.</description>
    <start_location alias="BUF" yardline="42"/>
    <end_location alias="BUF" yardline="45"/>
    <players>
        <player id="5fb525c5-4e70-4ede-8c49-94ad0cf66b7d" name="Dawson Knox" jersey="88" position="TE" sr_id="sr:player:1229734" role="receive"/>
        <player id="3069db07-aa43-4503-ab11-2ae5c0002721" name="Josh Allen" jersey="17" position="QB" sr_id="sr:player:1208608" role="pass"/>
    </players>
</detail>
{
    "category": "pass_incompletion",
    "description": "J.Allen pass incomplete short middle intended for D.Knox.",
    "sequence": 1,
    "direction": "short middle",
    "start_location": {
        "alias": "BUF",
        "yardline": 42
    },
    "end_location": {
        "alias": "BUF",
        "yardline": 45
    },
    "players": [
        {
            "id": "5fb525c5-4e70-4ede-8c49-94ad0cf66b7d",
            "name": "Dawson Knox",
            "jersey": "88",
            "position": "TE",
            "sr_id": "sr:player:1229734",
            "role": "receive"
        },
        {
            "id": "3069db07-aa43-4503-ab11-2ae5c0002721",
            "name": "Josh Allen",
            "jersey": "17",
            "position": "QB",
            "sr_id": "sr:player:1208608",
            "role": "pass"
        }
    ]
}

What are the point after score types?

  • extra_point (not used in UFL)
  • conversion
  • penalty


Transactions


What are the valid transaction_code and transaction_type values?

  • ACT - Activated
  • CL - Claimed
  • CEXP - Contract Expired
  • CEXT - Contract Extension
  • DEC - Deceased
  • FA - Declared Free Agency
  • TAG – Designated Franchise Tag
  • DRA - Drafted
  • SUS - League Suspension
  • ABS - Leave of Absence
  • NWT - Not with Team
  • TRAN - Other Transaction
  • EXE – Placed on Exempt/Commissioner’s List
  • IR – Placed on Injured Reserve
  • IRDR – Placed on Injured Reserve – Designated for Return
  • PUP – Placed on Physically Unable to Perform List
  • NON – Placed on Reserve/Non Football Injury List
  • RSGN - Re-Signed
  • RSUS - Reinstated from Suspension
  • REL - Released
  • RET - Retired
  • EDRA - Selected in Expansion Draft
  • SGN – Signed
  • PRA – Assigned to Practice Squad
  • TSUS - Team Suspension
  • TRD - Traded
  • WA – Waived
  • WAI – Waived – Injury
<player id="18be19e0-cc7e-11ec-8d55-87af3a9174bd" name="Stanley Berryhill" first_name="Stanley" last_name="Berryhill" position="WR" sr_id="sr:player:1261410">
    <transaction id="69bea440-6ceb-11ee-8808-8d33a3153a68" desc="WR Stanley Berryhill was reinstated from suspension." effective_date="2023-10-17" last_modified="2023-10-17T12:48:35Z" transaction_type="Reinstated from Suspension" transaction_code="RSUS" transaction_year="2023" status_before="SUS" status_after="UFA">
    </transaction>
</player>
{
    "id": "c816f5e3-7abe-4fc5-b6e0-4151017210b0",
    "name": "Jack Jones",
    "first_name": "Jack",
    "last_name": "Jones",
    "jersey": "13",
    "position": "DB",
    "sr_id": "sr:player:1209584",
    "transactions": [
        {
            "id": "fa1ea9a0-6d0d-11ee-935e-2d7aaab01588",
            "desc": "The New England Patriots placed DB Jack Jones on IRD.",
            "effective_date": "2023-10-17",
            "last_modified": "2023-10-17T16:55:53Z",
            "transaction_type": "Placed on Injury Reserve - Designated for Return",
            "transaction_code": "IRDR",
            "transaction_year": 2023,
            "status_before": "IR",
            "status_after": "IRD",
            "from_team": {
                "id": "97354895-8c77-4fd4-a860-32e62ea7382a",
                "name": "Patriots",
                "market": "New England",
                "alias": "NE",
                "sr_id": "sr:competitor:4424"
            },
            "to_team": {
                "id": "97354895-8c77-4fd4-a860-32e62ea7382a",
                "name": "Patriots",
                "market": "New England",
                "alias": "NE",
                "sr_id": "sr:competitor:4424"
            }
        }
    ]
},


Standings


What are the possible clinched status values in the Postgame Standings endpoint?

  • division – Clinched Division Title
  • playoff_berth – Clinched Playoff Berth
  • eliminated – Eliminated


Officials


What are the possible official assignments?

  • referee
  • umpire
  • headlinesman
  • linejudge
  • fieldjudge
  • sidejudge
  • backjudge
  • downjudge
  • replayofficial
<officials>
    <official full_name="Shawn Hochuli" number="83" assignment="referee"/>
    <official full_name="Tim Podraza" number="47" assignment="linejudge"/>
    <official full_name="Jason Ledet" number="72" assignment="fieldjudge"/>
    <official full_name="Rich Martinez" number="39" assignment="backjudge"/>
    <official full_name="Chad Hill" number="125" assignment="sidejudge"/>
    <official full_name="Terry Killens" number="77" assignment="umpire"/>
    <official full_name="Tyler Cerimeli" number="0" assignment="replayofficial"/>
    <official full_name="Patrick Holt" number="106" assignment="downjudge"/>
</officials>
"officials": [
    {
        "full_name": "Shawn Hochuli",
        "number": "83",
        "assignment": "referee"
    },
    {
        "full_name": "Tim Podraza",
        "number": "47",
        "assignment": "linejudge"
    },
    {
        "full_name": "Jason Ledet",
        "number": "72",
        "assignment": "fieldjudge"
    },
    {
        "full_name": "Rich Martinez",
        "number": "39",
        "assignment": "backjudge"
    },
    {
        "full_name": "Chad Hill",
        "number": "125",
        "assignment": "sidejudge"
    },
    {
        "full_name": "Terry Killens",
        "number": "77",
        "assignment": "umpire"
    },
    {
        "full_name": "Tyler Cerimeli",
        "number": "0",
        "assignment": "replayofficial"
    },
    {
        "full_name": "Patrick Holt",
        "number": "106",
        "assignment": "downjudge"
    }
],


Injuries


What are the possible injury status values?

  • Questionable
  • Doubtful
  • Out


Statistics


How are assisted sacks calculated?

Assisted sacks are credited when two players sack the quarterback. We provide this in the Play-by-Play feed and Game Boxscore as an integer. Those sacks are rolled up into the sacks stat and can be a float.

For example, if a player had 3 ast_sacks and 2 sacks in a game his game-level sack number would be 3.5.

<player id="bc69c92c-58ff-44b2-a18b-07a08ee78dc6" name="Jonathan Greenard" jersey="52" position="DE" 
  sr_id="sr:player:2040593" tackles="3" assists="3" combined="6" sacks="2.5" sack_yards="25.0" 
  interceptions="0" passes_defended="0" forced_fumbles="0" fumble_recoveries="0" qb_hits="4" tloss="2.0" 
  tloss_yards="21.0" safeties="0" sp_tackles="0" sp_assists="0" sp_forced_fumbles="0" sp_fumble_recoveries="0" 
  sp_blocks="0" misc_tackles="0" misc_assists="0" misc_forced_fumbles="0" misc_fumble_recoveries="0" 
  def_targets="0" def_comps="0" blitzes="0" hurries="0" knockdowns="0" missed_tackles="0" batted_passes="0"/>
{
    "id": "bc69c92c-58ff-44b2-a18b-07a08ee78dc6",
    "name": "Jonathan Greenard",
    "jersey": "52",
    "position": "DE",
    "sr_id": "sr:player:2040593",
    "tackles": 3,
    "assists": 3,
    "combined": 6,
    "sacks": 2.5,
    "sack_yards": 25.0,
    "interceptions": 0,
    "passes_defended": 0,
    "forced_fumbles": 0,
    "fumble_recoveries": 0,
    "qb_hits": 4,
    "tloss": 2.0,
    "tloss_yards": 21.0,
    "safeties": 0,
    "sp_tackles": 0,
    "sp_assists": 0,
    "sp_forced_fumbles": 0,
    "sp_fumble_recoveries": 0,
    "sp_blocks": 0,
    "misc_tackles": 0,
    "misc_assists": 0,
    "misc_forced_fumbles": 0,
    "misc_fumble_recoveries": 0,
    "def_targets": 0,
    "def_comps": 0,
    "blitzes": 0,
    "hurries": 0,
    "knockdowns": 0,
    "missed_tackles": 0,
    "batted_passes": 0
},


Drives


What are the start and end reasons for a drive?

  • UNKNOWN – Start/End
  • Touchdown – Start/End
  • Safety – End
  • Field Goal – Start/End
  • Missed FG – Start/End
  • Blocked FG – Start/End
  • Blocked FG, Downs – Start/End
  • Blocked FG, Safety – End
  • Punt – Start/End
  • Blocked Punt – Start/End
  • Blocked Punt, Downs – Start/End
  • Blocked Punt, Safety – End
  • Downs – Start/End
  • Interception – Start/End
  • Fumble – Start/End
  • Fumble, Safety - End
  • Missed FG – End
  • Muffed FG – Start/End
  • Muffed Punt – Start
  • Muffed Kickoff – Start
  • Kickoff – Start
  • Own Kickoff – Start
  • Onside Kick – Start
  • Kickoff, No Play – Start
  • End of Half – End
  • End of Game – End


Scoring


When are game scores added to the Schedule endpoints?

Game and period scores are added to the feed when the game status changes to complete.


🙋

More questions?

Reach out to [email protected] for further assistance.