Competition Format
Introduction
Unrivaled is a professional 3-on-3 women’s basketball league that runs a compact winter season, followed by a playoff. The season is played in a round-robin format, where each club competes in a series of matchups against the other teams before the top teams advance to a postseason tournament that decides the league champion. In addition to the team competition, Unrivaled also stages a separate 1-on-1 tournament as a marquee mid-season event.
Understanding these competition structures helps you interpret schedules, standings, rankings, and game-level data across the Unrivaled Basketball API.
Competition Phases
The Unrivaled season consists of multiple phases that appear across the schedule and standings feeds. Understanding these phases will help you correctly group games, interpret rankings, and build user interfaces that align with the league’s structure.
The regular season (season_type = REG) uses a round-robin format, where each club plays the others multiple times. These games determine league rankings and playoff qualification.
The diagram below outlines the overall flow of the Unrivaled season, showing how regular-season play leads into the postseason structure and how the 1-on-1 tournament operates as a separate parallel event.
Game Rules & Format Variations
Unrivaled introduces several gameplay elements that directly affect how clock, scoring, and play-by-play data appear in the API.
Elam Ending
Unrivaled uses an Elam Ending to determine the winner during the final phase of the game. Regulation is played with a standard clock until the designated Elam period begins. At that point:
- The game clock is turned off
- A target score is established based on the leading team’s current score plus a fixed value
- The first team to reach the target score wins
How Elam Ending Appears in the API
Data Point | Description |
|---|---|
|
|
| Standard clock representation (e.g., |
| Used only during Elam, similar to Note: During regulated play, the |
The Game Play-by-Play feed may include a period with type = quarter or elam:
"periods": [
{
"type": "quarter",
...
},
{
"type": "elam",
...
}
]Note: The Unrivaled API uses "quarter" for regulated periods for consistency with other basketball APIs, even though the gameplay format is 3-on-3.
Code snippet showing Elam Ending clock.
{
"id": "0b5eda65-036c-40c2-ba06-989dc597b745",
"event_type": "threepointmade",
"sequence": 1762312484137,
"clock_fraction": 0,
"description": "Naz Hillmon makes three point jump shot (Naz Hillmon assists)",
"clock": "1:30",
"clock_type": "elam",
"clock_decimal": "1:30",
"clock_directional": "+1:30"
}Developer Best Practices
- Do not assume a countdown clock once the Elam Ending begins
- Check
clock_typeandperiods.typeto detect game phase transitions - Use the score + target score fields (when available) to determine game progress
- Expect the game to end on a final made basket, not a timed expiration
Weighted Free Throws
Unrivaled uses a single-attempt weighted free-throw system, similar to the NBA G League.
- Fouled on a 2-point attempt → One free throw worth 2 points
- Fouled on a 3-point attempt → One free throw worth 3 points
How Weighted Free Throws Appear in the API
The API includes a dedicated field:
free_throw_pointsAn integer representing the total point value awarded if the free throw is made.
This means:
- Boxscore totals may increase by 2 or 3 from a single free-throw event
- Play-by-play will show a single attempt with the full value recorded
- Scoring logic must not assume traditional 1-point free throws
Additional Unrivaled-Specific Game Data
Event Types
Unrivaled includes additional substitution and rotation events:
lineupchangeonelineupchangethree
These reflect fast-paced lineup swaps common to 3-on-3 basketball.
Game-Winning Basket
game_winning_basket
Identifies the final made basket that reached the Elam target score.
Updated about 3 hours ago
