tournaments
Tennis tournament catalog: find tournaments by year, tour, level, surface, or country.
When to use:
"Which ATP 500s are on clay in 2026?"; "list the WTA 1000 events"; "what Grand Slams are in 2026?"; finding a tournament id before calling event_card.
Prefer over: event_card when you do NOT already have a tournament id (event_card needs one); call_api for /tennis/tournaments.
Do not use when: the draw bracket or a specific edition → event_card with the id this returns; the season calendar by month → event_card.
Tennis-only. Levels accept names (Grand Slam, WTA 1000, ATP 500, Challenger, ITF World Tennis Tour, Davis Cup, ...) or raw tier codes (G, M, A, C, D). A level name that starts with ATP or WTA also fixes the tour (and conflicts with a contradicting tour= argument are rejected), so "WTA 1000" cannot return ATP Masters events even though the upstream filter is not tour-aware. Note the source does not separate ATP 500 from ATP 250 — both are ATP Tour.
Parallel-safe: yes. Upstream cost: 1.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Case-insensitive name search, e.g. "open". | |
| game | Yes | Game title: lol | cs2 | dota2 | cod | ufc | tennis. Example: "cs2". | |
| page | No | Page number (1-indexed). | |
| tour | No | ATP or WTA. | |
| year | No | Edition year, e.g. 2026. Omit for all years. | |
| level | No | Filter by level. Names: Grand Slam, Masters 1000, ATP Tour, ATP 500, ATP 250, WTA 1000, ... or codes G|M|A|C|D. | |
| limit | No | Max items to return (default 20, max 50). Example: 20. | |
| surface | No | Hard, Clay, Grass, or Carpet. | |
| countryCode | No | 3-letter IOC country code, e.g. FRA. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | Yes | true if the tool succeeded | |
| data | No | Result payload when ok is true; null on error | |
| meta | Yes | ||
| error | No | ||
| partial | No | ||
| pagination | No |