Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Esports data — Dota 2 (OpenDota) and League of Legends esports (Leaguepedia). Pro matches, tournaments, teams, and structured LoL competitive data. Use when: user asks about Dota 2 pro matches/teams/leagues, or LoL esports tournaments/rosters/results. Don't use when: user asks about esports betting/odds — use the `kalshi` (get_esports_odds) or `polymarket` (get_esports_events) skills (no keyless bookmaker-odds source exists). Don't use for non-Dota/LoL titles (only Dota 2 and LoL are covered).
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | -35% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 10% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 35% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -36% | 0% |
| case-13 | ✗→✓ | ▲ Improved | -24% | 0% |
Keyless, public sources. No API key, no signup.
api.opendota.com). Real JSON. Free tier ~60 req/min.lol.fandom.com). Structuredrows. CC-BY-SA — attribute Leaguepedia when you reuse the data.
in-body error (Leaguepedia API error: ...) on an HTTP 200 — not a 4xx. Results are cached ~30 min; don't hammer it.
implied-probability signals, use kalshi get_esports_odds --game=cs2 or polymarket get_esports_events.
CLI:
bashsports-skills esports get_pro_matches --limit=10 sports-skills esports get_pro_teams --limit=10 sports-skills esports get_leagues --tier=premium sports-skills esports get_lol_tournaments --region=Korea --limit=5 sports-skills esports lol_cargo_query --tables=Teams --fields=Name,Region --limit=5
Python:
pythonfrom sports_skills import esports esports.get_pro_matches(limit=10) esports.get_lol_tournaments(region="Brazil")
| Command | Description | |---|---| | get_pro_matches | Recent Dota 2 professional matches (OpenDota) | | get_leagues | Dota 2 leagues/tournaments, filter by tier (OpenDota) | | get_pro_teams | Top Dota 2 teams by rating (OpenDota) | | get_match | Detailed Dota 2 match by id (OpenDota) | | get_lol_tournaments | Recent LoL esports tournaments (Leaguepedia) | | lol_cargo_query | Raw Leaguepedia Cargo query (any table/fields) |
lol_cargo_query needs tables + fields. Common tables (fields vary — verify with a small query first): Tournaments (Name, DateStart, DateEnd, League, Region, Prizepool), MatchSchedule (Team1, Team2, Winner, DateTime_UTC, BestOf), ScoreboardGames, Players, Teams. Full schema: <https://lol.fandom.com/wiki/Special:CargoTables>.
Leaguepedia API error: You've exceeded your rate limit → you're beingthrottled. Wait and retry; the connector caches for ~30 min to help.
matches/teams from OpenDota → transient; OpenDota is volunteer-runbest-effort infra with no SLA. Retry.
Other measured skills in the registry, with their headline benchmark lift.