| name | sports--tennis-data |
| description | | |
| origin | github.com/machina-sports/sports-skills (skill: tennis-data) |
| license | MIT |
| version | 1.0.0 |
| compatibility | yana-ai >= 0.14.0 |
Tennis Data (ATP + WTA)
Before writing queries, consult references/api-reference.md for endpoints, ID conventions, and data shapes.
Quick Start
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
CRITICAL: Before Any Query
CRITICAL: Before calling any data endpoint, verify:
- The
tour parameter is specified (atp or wta) โ there is no default.
- Year is derived from the system prompt's
currentDate โ never hardcoded.
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, ask which tour or show both by calling the command twice.
Commands
| Command | Description |
|---|
get_scoreboard | Live/recent tournament scores for a tour |
get_rankings | ATP or WTA player rankings |
get_calendar | Full season tournament calendar |
get_player_info | Individual tennis player profile |
See references/api-reference.md for full parameter lists and return shapes.
Workflows
Live Tournament Check
get_scoreboard --tour=<atp|wta>
- Present current matches by round.
- For player info, use
get_player_info --player_id=<id>.
Rankings Lookup
get_rankings --tour=<atp|wta> --limit=20
- Present rankings with points and trend.
Season Calendar
get_calendar --tour=<atp|wta> --year=<year>
- Filter for specific tournament.
Examples
Example 1: Live matches
User says: "What ATP matches are happening right now?"
Actions:
- Call
get_scoreboard(tour="atp")
Result: Current tournament matches organized by round with scores and status
Example 2: Women's rankings
User says: "Show me the WTA rankings"
Actions:
- Call
get_rankings(tour="wta", limit=20)
Result: Top 20 WTA players with rank, name, points, and trend
Example 3: Upcoming Grand Slam date
User says: "When is the French Open this year?"
Actions:
- Derive year from
currentDate
- Call
get_calendar(tour="atp", year=<derived_year>)
- Search results for "Roland Garros" (the French Open's official name)
Result: French Open dates, location (Paris), and surface (clay)
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 table above, it does not exist.
Troubleshooting
Error: get_scoreboard returns no matches
Cause: Tennis tournaments run specific weeks; no tournament may be scheduled this week
Solution: Call get_calendar(tour=...) to find when the next event is scheduled
Error: Rankings are empty
Cause: Rankings update weekly on Mondays; there may be a brief update window
Solution: The command auto-retries previous weeks. If still empty, retry in a few minutes
Error: Player profile fails
Cause: Player ID is incorrect
Solution: Use get_rankings to find player IDs from the current rankings list, or verify via ESPN tennis URLs
Error: Scores seem delayed or don't update live
Cause: Scores update after each set/match is completed, not point-by-point
Solution: This is expected behavior. Refresh get_scoreboard periodically for updated set scores