Prefer the CLI — it avoids Python import path issues:
sports-skills tennis get_scoreboard
--tour
=
atp
sports-skills tennis get_rankings
--tour
=
wta
sports-skills tennis get_calendar
--tour
=
atp
--year
=
2026
Important: Tennis is Not a Team Sport
Tennis data is fundamentally different from team sports (NFL, NBA, etc.):
Tournaments, not games
Events are multi-day tournaments containing many matches.
Individual athletes
Competitors are individual players (singles) or pairs (doubles), not teams.
Set-based scoring
Scores are per-set game counts (e.g., 6-4, 7-5), not quarters.
Rankings, not standings
Players have ATP/WTA ranking points, not team records.
No rosters or team schedules
Tennis has no team-level commands.
The
tour
Parameter
Most commands require
--tour=atp
or
--tour=wta
:
ATP
Men's professional tennis tour
WTA
Women's professional tennis tour
If the user doesn't specify, default to
atp
for men's tennis or
wta
for women's tennis. If the user just says "tennis" without specifying, ask which tour or show both by calling the command twice.
Before complex fetches, run the parameter validator:
bash scripts/validate_params.sh [args]
For detailed reference data, see the files in the
references/
directory.
Workflows
Workflow: Live Tournament Check
get_scoreboard --tour=
Present current matches by round.
For player info, use
get_player_info --player_id=
.
Workflow: Rankings Lookup
get_rankings --tour= --limit=20
Present rankings with points and trend.
Workflow: Season Calendar
get_calendar --tour= --year=
Filter for specific tournament.
get_news --tour=
for latest coverage.
Examples
User: "What ATP matches are happening right now?"
Call
get_scoreboard(tour="atp")
Present current tournaments and matches by round
User: "Show me the WTA rankings"
Call
get_rankings(tour="wta", limit=20)
Present rankings with rank, name, points, and trend
User: "When is the French Open this year?"
Call
get_calendar(tour="atp", year=2026)
Search results for "Roland Garros" (the French Open's official name)
Commands that DO NOT exist — never call these
get_matches
— does not exist. Use
get_scoreboard
for current match scores.
get_draw
— does not exist. Tournament draw data is not available via this API.
get_head_to_head
— does not exist. Head-to-head records are not available via this API.
get_standings
— does not exist. Tennis uses
get_rankings
, not standings.
If a command is not listed in the Commands section above, it does not exist.
Error Handling & Fallbacks
If
get_scoreboard
returns no matches, tournaments run specific weeks. Use
get_calendar
to find when events are scheduled.
If rankings are empty, rankings update weekly on Mondays. The command auto-retries previous weeks.
If player profile fails, use
get_rankings
to verify the player_id.
Never fabricate match scores or rankings.
If data is unavailable, state so.