v2.2.0 — Split opta into opta (UUID) + opta_numeric
API
Clarifies Reep's Opta ID conventions. Stats Perform operates multiple distinct ID systems within the same "Opta" brand. Previously both UUIDs and legacy numeric codes were stuffed under a single opta provider. Now cleanly split:
opta— UUID format only (Stats Perform F1 / The Analyst). 50K players, 34 historical PL teams, 33 competitions, 14 historical PL seasons.opta_numeric— Legacy numeric codes from Wikidata P8735. 52 competitions. Still used by Opta Stats Centre and some feeds; not interchangeable withopta.
Two other numeric systems already existed as separate providers:
premier_league— premierleague.com player page IDs (4.9K)fpl_code— FPL / theanalyst.comsc-{code}numbers (2.5K)
See CLAUDE.md for the full Opta ID system breakdown.
Data
- 2,225 TheSportsDB team IDs (strict country+name matching, reserves/women/youth filtered)
- 147 Understat competition/team/season IDs from Kaggle dataset (6 leagues, 100 teams, 41 seasons)
- 98 FotMob competition IDs (FBref-bridged country-aware matching)
- 41 Opta UUID mappings (31 historical PL teams + 10 historical PL seasons from the WQ drive)
- 34 Opta competition UUIDs (from The Analyst power rankings)
- 19 Transfermarkt competition IDs (from dcaribou/transfermarkt-datasets)
- 466 FBref season IDs (derived from worldfootballR season URLs)
Wolves now resolves across 12 providers. Premier League across 7.
Migration notes
Consumers who were using opta to look up competition numeric codes (8, 23, 12 etc.) should switch to opta_numeric. The opta provider is now strictly UUID format.
No breaking changes for the 50K+ opta player IDs — those were already UUIDs.