Supported Leagues
Table of contents
- Professional Leagues
- Junior & Minor Leagues
- Cricket
- Rugby
- International
- Combat Sports
- NCAA
- NCAA Men’s Sports
- NCAA Women’s Sports
- NCAA Shorthand
- Usage Examples
- Data Providers
- Adding New Leagues
Professional Leagues
| League Name | Code | Provider | Feeder Leagues |
|---|---|---|---|
| National Basketball Association | nba | ESPN | |
| Women’s National Basketball Association | wnba | ESPN | |
| NBA G League | nbag | ESPN | |
| Unrivaled Basketball | ubl | TSDB | |
| National Football League | nfl | ESPN | |
| United Football League | ufl | ESPN | |
| Major League Baseball | mlb | ESPN | |
| World Baseball Classic | wbc | ESPN | Fallback: MLB |
| National Hockey League | nhl | ESPN | |
| National Lacrosse League | nll | ESPN | |
| Professional Women’s Hockey League | pwhl | HockeyTech | |
| US Hockey League | ushl | HockeyTech | |
| Korean Baseball Organization | kbo | MLBStats | |
| UK Elite Ice Hockey League | eihl | TheSportsDB | |
| Canadian Football League | cfl | TheSportsDB | |
| English Premier League | epl | TheSportsDB / ESPN | Championship, League One, League Two, National League, National League South, National League North |
| English FA Cup | engfa | ESPN | EPL, Championship, League One, League Two |
| EFL Championship | championship | ESPN | |
| EFL League One | league-one | ESPN | |
| EFL League Two | league-two | ESPN | |
| English National League | english-national-league | TheSportsDB / ESPN | |
| English National League South | english-national-league-south | TheSportsDB | |
| English National League North | english-national-league-north | TheSportsDB | |
| EFL Cup | engleaguecup | ESPN | EPL, Championship, League One, League Two |
| English FA Community Shield | engcommunityshield | TheSportsDB / ESPN | |
| English FA Trophy | engfatrophy | TheSportsDB | |
| La Liga (Spain) | laliga | ESPN | Segunda División |
| Copa del Rey (Spain) | copadelrey | ESPN | La Liga, Segunda División |
| Segunda División (Spain) | segunda | ESPN | |
| Bundesliga (Germany) | bundesliga | ESPN | 2. Bundesliga |
| 2. Bundesliga (Germany) | 2-bundesliga | ESPN | |
| Serie A (Italy) | seriea | ESPN | Serie B |
| Serie B (Italy) | serieb | ESPN | |
| Ligue 1 (France) | ligue1 | ESPN | Ligue 2 |
| Ligue 2 (France) | ligue2 | ESPN | |
| Scottish Premiership | spfl | TheSportsDB / ESPN | |
| Scottish Cup | scup | TheSportsDB / ESPN | SPFL, Championship, League One, League Two |
| Scottish Championship | sch | TheSportsDB / ESPN | |
| Scottish League One | sl1 | TheSportsDB / ESPN | |
| Scottish League Two | sl2 | TheSportsDB / ESPN | |
| Scottish League Cup | slcup | TheSportsDB / ESPN | |
| Major League Soccer | mls | ESPN | |
| UEFA Champions League | uefa | ESPN | |
| UEFA Women’s Champions League | uefa.wchampions | ESPN | |
| UEFA Europa League | europa | ESPN | |
| UEFA Europa Conference League | conference | ESPN | |
| UEFA European Championship | euros | TheSportsDB / ESPN / FlagCDN | European Championship Qualifying |
| UEFA European Championships Qualifying | euroq | TheSportsDB / ESPN / FlagCDN | |
| UEFA Nations League | uefanationsleague | TheSportsDB / ESPN / FlagCDN | |
| Africa Cup of Nations | afcon | TheSportsDB / ESPN / FlagCDN | Africa Cup of Nations Qualifying |
| Africa Cup of Nations Qualifying | afconq | TheSportsDB / ESPN / FlagCDN | |
| CONCACAF Nations League | concacafnationsleague | TheSportsDB / ESPN / FlagCDN | |
| FIFA World Cup | worldcup | ESPN | All WCQ Confederations |
| FIFA WCQ - UEFA | wcq-uefa | ESPN | |
| FIFA WCQ - CONMEBOL | wcq-conmebol | ESPN | |
| FIFA WCQ - CONCACAF | wcq-concacaf | ESPN | |
| FIFA WCQ - AFC | wcq-afc | ESPN | |
| FIFA WCQ - CAF | wcq-caf | ESPN | |
| FIFA WCQ - OFC | wcq-ofc | ESPN |
Junior & Minor Leagues
| League Name | Code | Provider | Feeder Leagues |
|---|---|---|---|
| Minor League Baseball | milb | MLBStats | milb-aaa, milb-aa, milb-high-a, milb-a |
| Triple-A Baseball | milb-aaa | MLBStats | |
| Double-A Baseball | milb-aa | MLBStats | |
| High-A Baseball | milb-high-a | MLBStats | |
| Single-A Baseball | milb-a | MLBStats | |
| Winter Leagues | milb-winter | MLBStats | |
| Independent League Baseball | milb-independent | MLBStats | |
| Canadian Hockey League | chl | Local Logo Only | OHL, WHL, QMJHL |
| Ontario Hockey League | ohl | HockeyTech / TheSportsDB | CHL |
| Western Hockey League | whl | HockeyTech / TheSportsDB | CHL |
| Quebec Maritimes Junior Hockey League | qmjhl | HockeyTech / TheSportsDB | CHL |
| American Hockey League | ahl | TheSportsDB | |
| East Coast Hockey League | echl | HockeyTech | |
| British Columbia Hockey League | bchl | HockeyTech | |
| Saskatchewan Junior Hockey League | sjhl | HockeyTech | |
| Alberta Junior Hockey League | ajhl | HockeyTech | |
| Manitoba Junior Hockey League | mjhl | HockeyTech | |
| Maritime Junior Hockey League | mhl | HockeyTech | |
| Ontario Junior Hockey League | ojhl | HockeyTech | |
| Canadian Sport School Hockey League | csshl | HockeyTech |
Cricket
| League Name | Code | Provider | |
|---|---|---|---|
| The Hundred (Men’s) | the100m | TheSportsDB / ESPN | |
| The Hundred (Women’s) | the100w | TheSportsDB / ESPN | |
| English T20 Blast | t20blast | TheSportsDB | |
| Indian Premier League | ipl | TheSportsDB | |
| Australian Big Bash League | bbl | TheSportsDB | |
| Bangladesh Premier League | bpl | TheSportsDB | |
| Caribbean Premier League | cpl | TheSportsDB | |
| Major League Cricket | mlc | TheSportsDB | |
| New Zealand Super Smash | nzss | TheSportsDB | |
| SA20 | sa20 | TheSportsDB | |
| Nepal Premier League | npl | TheSportsDB | |
| Pakistan Super League | psl | TheSportsDB |
Rugby
| League Name | Code | Provider | |
|---|---|---|---|
| Six Nations | 6n | TheSportsDB | |
| Six Nations Women | 6nw | TheSportsDB | |
| English Prem Rugby | epr | TheSportsDB | |
| United Rugby Championship | urc | TheSportsDB | |
| European Rugby Challenge Cup | ercc | TheSportsDB | |
| Rugby World Cup | rwc | TheSportsDB | |
| Women’s Rugby World Cup | wrwc | TheSportsDB | |
| English Rugby League Super League | erlsp | TheSportsDB | |
| Rugby League World Cup | rlwc | TheSportsDB | |
| Major League Rugby | mlr | TheSportsDB |
International
| League Name | Code | Provider | Notes |
|---|---|---|---|
| Country Matchups | country | FlagCDN | Country flags for international matchups |
| Olympic Games | olympics | FlagCDN | Olympic team flags and colors |
| International Ice Hockey Federation | iihf | FlagCDN | World Juniors, World Junior Championship |
Examples:
GET /country/canada/usa/thumb
GET /olympics/usa/china/cover
GET /country/france/germany/logo
GET /iihf/canada/usa/thumb
Features:
- Automatic country resolution with ISO 3166 codes (2-letter and 3-letter)
- Olympic team codes (ROC, OAR, RPC)
- UK home nations support (ENG, SCT, WAL, NIR)
- High-resolution flag images (2560px width)
- Automatic color extraction from flags
- Desaturated and darkened colors for thumbnail backgrounds
- 7-day country and color caching
Combat Sports
Game Thumbs supports athlete-based combat sports and individual sports where athletes are treated as “teams” for matchup generation.
Feature Flag Required: Combat sports leagues require the
LEAGUES_ENABLE_MMA=trueenvironment variable to be enabled. See Docker Setup - League Feature Flags for details.
Mixed Martial Arts (MMA)
| League Name | Code | Provider | Athletes |
|---|---|---|---|
| Ultimate Fighting Championship | ufc | ESPN Athlete | 1,800+ |
| Professional Fighters League | pfl | ESPN Athlete | 500+ |
| Bellator MMA | bellator | ESPN Athlete | 1,000+ |
Examples:
GET /ufc/jon-jones/stipe-miocic/thumb
GET /pfl/kayla-harrison/larissa-pacheco/logo
GET /bellator/ryan-bader/corey-anderson/cover
Tennis
Feature Flag Required: Tennis leagues require the
LEAGUES_ENABLE_TENNIS=trueenvironment variable to be enabled. See Docker Setup - League Feature Flags for details.
| League Name | Code | Provider | Athletes |
|---|---|---|---|
| Tennis (ATP & WTA) | tennis | ESPN Athlete | 33,800+ |
| ATP Tour (Men’s) | atp | ESPN Athlete | Feeder of Tennis |
| WTA Tour (Women’s) | wta | ESPN Athlete | Feeder of Tennis |
Initial Cache: Tennis has 33,800+ athletes across ATP and WTA. First-time cache population takes 5-30 minutes depending on ESPN API rate limits. Subsequent server restarts load from cached files instantly. Athlete caches are only created when the feature flag is enabled.
Singles Examples:
GET /tennis/djokovic/federer/thumb
GET /tennis/serena-williams/osaka/cover
GET /tennis/nadal/alcaraz/logo
Doubles Examples: Tennis supports doubles matches using the + separator to combine players:
GET /tennis/djokovic+federer/nadal+murray/thumb
GET /tennis/serena-williams+venus-williams/osaka+azarenka/cover
GET /tennis/ram+salisbury/koolhof+skupski/logo
Features:
- Automatic athlete roster caching (72-hour duration)
- Background cache refresh before expiration
- Smart name matching (first name, last name, full name)
- Tennis-specific color palettes (grass court greens, clay court browns/oranges, hard court blues, tennis ball yellow-greens)
- MMA sports use dark blue color palettes
- Headshot images used as athlete “logos”
- Country flags used as fallback when headshots are unavailable
- Doubles support: Composite images with both players side-by-side
- Searches both ATP (men’s) and WTA (women’s) rosters automatically
NCAA
| League Name | Code | Provider | Fallback |
|---|---|---|---|
| NCAA (Generic) | ncaa | ESPN | NCAA Men’s Basketball |
Note: The generic ncaa league can be used for any NCAA sport. It automatically falls back to NCAA Men’s Basketball (ncaam) for team data when needed. For more specific sport identifiers, use the sport-specific codes below or the NCAA Shorthand endpoint.
NCAA Men’s Sports
| Sport | Code | Provider |
|---|---|---|
| NCAA Football | ncaaf | ESPN |
| NCAA Men’s Basketball | ncaam | ESPN |
| NCAA Ice Hockey (Men’s) | ncaah | ESPN |
| NCAA Soccer (Men’s) | ncaas | ESPN |
| NCAA Baseball | ncaabb | ESPN |
| NCAA Lacrosse (Men’s) | ncaalax | ESPN |
| NCAA Volleyball (Men’s) | ncaavb | ESPN |
| NCAA Water Polo (Men’s) | ncaawp | ESPN |
NCAA Women’s Sports
| Sport | Code | Provider | Fallback |
|---|---|---|---|
| NCAA Women’s Basketball | ncaaw | ESPN | Football |
| NCAA Ice Hockey (Women’s) | ncaawh | ESPN | Men’s Hockey |
| NCAA Soccer (Women’s) | ncaaws | ESPN | Men’s Soccer |
| NCAA Softball | ncaasbw | ESPN | Football |
| NCAA Lacrosse (Women’s) | ncaawlax | ESPN | Football |
| NCAA Volleyball (Women’s) | ncaawvb | ESPN | Football |
| NCAA Water Polo (Women’s) | ncaawwp | ESPN | Football |
| NCAA Field Hockey (Women’s) | ncaawfh | ESPN | Football |
Note: Women’s NCAA sports automatically fall back to the indicated sport when a team is not found. This ensures maximum compatibility when teams don’t have dedicated women’s programs.
NCAA Shorthand
The /ncaa/:sport/:team1/:team2/:type endpoint provides a convenient way to access NCAA sports using sport names instead of league codes.
Format: /ncaa/:sport/:team1/:team2/:type
See the NCAA Shorthand API Reference for the complete list of supported sport identifiers and aliases.
Examples:
/ncaa/football/alabama/georgia/thumb
/ncaa/march-madness/duke/unc/cover
/ncaa/womens-basketball/uconn/stanford/logo
/ncaa/ice-hockey/minnesota/wisconsin/thumb
/ncaa/softball/oklahoma/alabama/cover
Usage Examples
Professional Leagues
GET /nba/lakers/celtics/thumb
GET /nfl/chiefs/49ers/cover
GET /mlb/yankees/redsox/logo
GET /nhl/maple-leafs/canadiens/thumb
GET /ohl/london-knights/ottawa-67s/cover
GET /bchl/penticton-vees/trail-smoke-eaters/thumb
GET /echl/adirondack-thunder/worcester-railers/cover
GET /epl/manchester-united/chelsea/thumb
GET /mls/lafc/galaxy/cover
GET /milb/durham-bulls/norfolk-tides/thumb
GET /milb-aaa/sugar-land/round-rock/logo
GET /kbo/samsung-lions/kia-tigers/cover
NCAA Leagues (Direct)
GET /ncaaf/alabama/georgia/thumb
GET /ncaam/duke/unc/cover
GET /ncaaw/uconn/stanford/logo
GET /ncaah/minnesota/wisconsin/thumb
NCAA Shorthand
GET /ncaa/football/alabama/georgia/thumb
GET /ncaa/basketball/duke/unc/cover
GET /ncaa/womens-basketball/uconn/stanford/logo
GET /ncaa/hockey/minnesota/wisconsin/thumb
Data Providers
For detailed information about data providers, caching strategies, and API endpoints, see the Technical Details page.
Adding New Leagues
New leagues can be added by configuring them in leagues.json. Each league requires:
- shortName: League code used in API endpoints
- name: Full league name for display
- providers: Array of provider configurations (tried in order)
Single Provider Configuration
ESPN Provider:
{
"shortName": "nba",
"name": "National Basketball Association",
"providers": [
{
"espn": {
"espnSport": "basketball",
"espnSlug": "nba"
}
}
]
}
The provider type is automatically inferred from the config field (espn = ESPN provider).
TheSportsDB Provider:
{
"shortName": "ohl",
"name": "Ontario Hockey League",
"logoUrl": "./assets/OHL_LIGHTMODE.png",
"logoUrlDark": "./assets/OHL_DARKMODE.png",
"providers": [
{
"theSportsDB": {
"leagueId": "5159",
"leagueName": "Canadian OHL"
}
}
]
}
The provider type is automatically inferred from the config field (theSportsDB = TheSportsDB provider).
FlagCDN Provider (International):
{
"shortName": "olympics",
"name": "Olympic Games",
"logoUrl": "./assets/2026_OLYMPICS.png",
"providers": [
{
"flagcdn": {}
}
]
}
The provider type is automatically inferred from the config field (flagcdn = FlagCDN provider).
MLBStats Provider (MiLB / International Baseball):
{
"shortName": "milb-aaa",
"name": "Triple-A Baseball",
"logoUrl": "https://example.com/milb-alt.svg",
"providers": [
{
"mlbStats": {
"sportId": 11
}
}
]
}
The provider type is automatically inferred from the config field (mlbStats = MLBStats provider). The sportId corresponds to the MLB StatsAPI sport identifier.
Multiple Providers with Priority
Configure multiple providers for the same league. They are tried in order (top to bottom) before falling back to fallbackLeague:
{
"shortName": "ohl",
"name": "Ontario Hockey League",
"logoUrl": "./assets/OHL_LIGHTMODE.png",
"logoUrlDark": "./assets/OHL_DARKMODE.png",
"providers": [
{
"theSportsDB": {
"leagueId": "5159",
"leagueName": "Canadian OHL"
}
},
{
"espn": {
"espnSport": "hockey",
"espnSlug": "ohl"
}
}
],
"fallbackLeague": "nhl"
}
Provider types are automatically inferred: theSportsDB = TheSportsDB, espn = ESPN.
Resolution Order (top to bottom):
- Try TheSportsDB first
- If team not found, try ESPN
- If still not found, fall back to NHL league
Configuration Fields
Required:
name: Full league name for displayproviders: Array of provider configurations (tried in priority order)
Optional:
logoUrl: Custom league logo URL or local path (light mode)logoUrlDark: Custom dark mode league logo URL or local pathaliases: Array of alternative names for the leaguefallbackLeague: League code to fall back to when team not found (checked after all providers)
For more details on the technical implementation, see Technical Details.