Supported Leagues

Table of contents

  1. Professional Leagues
  2. Junior & Minor Leagues
  3. Cricket
  4. Rugby
  5. International
  6. Combat Sports
    1. Mixed Martial Arts (MMA)
    2. Tennis
  7. NCAA
  8. NCAA Men’s Sports
  9. NCAA Women’s Sports
  10. NCAA Shorthand
  11. Usage Examples
    1. Professional Leagues
    2. NCAA Leagues (Direct)
    3. NCAA Shorthand
  12. Data Providers
  13. Adding New Leagues
    1. Single Provider Configuration
    2. Multiple Providers with Priority
    3. Configuration Fields

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=true environment 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=true environment 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):

  1. Try TheSportsDB first
  2. If team not found, try ESPN
  3. If still not found, fall back to NHL league

Configuration Fields

Required:

  • name: Full league name for display
  • providers: 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 path
  • aliases: Array of alternative names for the league
  • fallbackLeague: League code to fall back to when team not found (checked after all providers)

For more details on the technical implementation, see Technical Details.