UFL Fundamentals
The United Football League is a professional spring football league: eight teams, a season played in the NFL off-season, and a history that begins with the 2024 merger of the XFL and USFL. It is a separate league served by its own API, not an extension of the NFL.
This page explains the concepts the rest of the guide builds on: how a UFL year is organized, how the league is structured, which feeds carry game data, how coverage works, and what changes if you are coming from the NFL API. The mechanics (authentication, the URL shape, errors, and cache behavior) are on UFL API Basics.
The Season Model
The UFL plays a spring calendar. The regular season (REG) runs ten weeks from late March through May: eight teams, four games a week, forty games in all. The postseason (PST) runs two weeks in June: two playoff games one weekend, the United Bowl championship the next. There is no preseason; a PRE season type exists in the format but is never populated for the UFL.
Each phase is its own entry in the Seasons catalog, with its own ID, date range, and status. The league launched in 2024 and every season since remains retrievable. The 2026 pair:
{
"league": {
"id": "d441365f-cfab-49d6-9976-6c95d91fdef7",
"name": "United Football League",
"alias": "UFL"
},
"seasons": [
{
"id": "4123d3de-ea19-4e5a-9320-d29026eb3df6",
"year": 2026,
"start_date": "2026-06-06",
"end_date": "2026-06-13",
"status": "closed",
"type": {
"code": "PST"
}
},
{
"id": "4ee5ece0-6f0b-11f0-b1e6-2dad3ff60df1",
"year": 2026,
"start_date": "2026-03-27",
"end_date": "2026-05-31",
"status": "closed",
"type": {
"code": "REG"
}
}
]
}Rules are part of the season model too: UFL rules change season to season, and a season's payloads reflect the rules in force when it was played. The Overview lists the current season's UFL-specific rules and where each one surfaces in the data.
League Structure
The League Hierarchy feed carries the structure: one UFL conference holding one team-bearing division of all eight teams. The response is shown with the division trimmed to its first two teams:
{
"league": {
"id": "d441365f-cfab-49d6-9976-6c95d91fdef7",
"name": "United Football League",
"alias": "UFL"
},
"conferences": [
{
"id": "23f26d00-966b-11ec-aba0-0f22e7db39c9",
"name": "UFL",
"alias": "UFL",
"divisions": [
{
"id": "c281ba41-b8f7-11f0-bff0-bb54b53201d3",
"name": "UFL Conference",
"alias": "UFL",
"teams": [
{
"id": "e3702f00-b8ef-11f0-9440-2f32b8d49d12",
"name": "Aviators",
"market": "Columbus",
"alias": "CLB",
"sr_id": "sr:competitor:1320802",
"founded": 2026
},
{
"id": "d4799bc0-c045-11ee-ad92-cf16c0a8aa31",
"name": "Battlehawks",
"market": "St. Louis",
"alias": "STL",
"sr_id": "sr:competitor:661855",
"founded": 2020
}
]
},
{
"id": "cf16ca01-9675-11ec-b3cb-77bc504b6aa0",
"name": "XFL Conference",
"alias": "XFL"
},
{
"id": "e63229f1-9675-11ec-ad67-9189b3965ff6",
"name": "USFL Conference",
"alias": "USFL"
}
]
}
]
}The shape carries three integration facts:
- The 2026 season plays as one table. All eight teams sit in the single UFL Conference division, and standings return one conference-wide table; build grouping from what the standings response returns rather than assuming a fixed layout (Tracking Standings)
- The legacy XFL and USFL entries remain as empty containers. They carry no teams; the
conference_gameflag on schedule entries marks matchups within the old XFL/USFL split - Franchises move and join. Team GUIDs are stable while markets and names can change, and 2026 added three teams (Columbus, Louisville, and Orlando, each
founded: 2026); the Teams feed also carries a placeholderTBDteam to filter from pickers (ID Handling)
The Game Feed Set
Four feeds carry a game's data, all keyed by the game GUID:
| Feed | Carries |
|---|---|
| Game Boxscore | Score, clock, situation, last event, and scoring drives and plays in a single call |
| Game Play-by-Play | The full drive and play tree with per-play statistics |
| Game Statistics | Team and player box statistics |
| Game Roster | Game-day availability, player game statuses, and officials |
The game status field decides which feed to read and how often: Game Status Workflow covers the lifecycle, and Tracking Live Games turns it into a polling loop. Real-time push delivery of the same detail is available through the Push Events and Push Statistics feeds (Push Feeds).
Coverage
Every UFL game is covered at the same level: full play-by-play. Coverage tiers never factor into retrieval logic; every game populates the four game feeds the same way.
Coming from the NFL API
The UFL API is built in the NFL API's v7 shape: GUID-keyed entities, the same game status model, and the same update-frequency model. If you have integrated the NFL API, these are the differences that matter:
| Difference | What it means for your integration |
|---|---|
| A spring calendar with two season types | Seasons run REG and PST only (no PRE), late March through mid June, and {week_number} is a zero-padded string ("01" through "12"). See The Season Model, above; addressing is on UFL API Basics |
| Scoring rules are UFL-specific and change yearly | One, two, and three-point conversions, standalone extra_point kicks, four-point field goals, and a shootout overtime all surface in the payloads; read each scoring play's score object rather than assuming values. The Overview lists the current rule set and Tracking Live Games shows the pattern |
| A leaner feed set | There are no League Leaders, Team Profile, Free Agents, or draft feeds; team detail rides the Team Roster's franchise object and the hierarchy, and Push covers Events and Statistics (Push Feeds) |
| One conference table | The 2026 season plays as a single UFL Conference division of eight teams; the hierarchy retains the legacy XFL and USFL groupings as empty containers, and conference_game marks the old split (League Structure, above) |
| Players are GUID-only | Player rows carry no sr_id URN; join on GUIDs, and use the Player Profile references array for the player's NCAA Football API record where one exists (ID Handling) |
| The player pipeline runs toward the NFL | Mid-season exits appear in Daily Transactions as an ACT to UFA move with a description noting the NFL signing (Retrieving Rosters and Players) |
Updated about 2 hours ago
