Player Data JSON

Obtiene datos completos de un jugador en formato JSON para alimentar LLMs

Teodora Kostovic

Teodora Kostovic

Serbia WTA 177
19W - 11L 63,3% Win Rate Forma: LWLWWLLLWW

JSON Data

{
  "player": {
    "id": 634,
    "api_id": 478940,
    "name": "Teodora Kostovic",
    "short_name": "T. Kostovic",
    "country": "Serbia",
    "country_code": "RS",
    "gender": "Female",
    "circuit": "WTA",
    "date_of_birth": "2007-06-28",
    "height_cm": null,
    "weight_kg": null,
    "plays": "",
    "turned_pro": null
  },
  "utr": {
    "id": 4380558,
    "singles": 11.74,
    "doubles": 10.61,
    "ranking": 172,
    "division": "Pro",
    "is_pro": true,
    "updated_at": "2026-01-18"
  },
  "current_ranking": {
    "position": 177,
    "points": 397,
    "best_position": 175,
    "date": "2026-01-30"
  },
  "ranking_history": [
    {
      "date": "2026-01-30",
      "position": 177,
      "points": 397
    },
    {
      "date": "2026-01-29",
      "position": 177,
      "points": 397
    },
    {
      "date": "2026-01-28",
      "position": 177,
      "points": 397
    },
    {
      "date": "2026-01-27",
      "position": 177,
      "points": 397
    },
    {
      "date": "2026-01-26",
      "position": 177,
      "points": 397
    },
    {
      "date": "2026-01-25",
      "position": 177,
      "points": 397
    },
    {
      "date": "2026-01-24",
      "position": 177,
      "points": 397
    },
    {
      "date": "2026-01-23",
      "position": 177,
      "points": 397
    },
    {
      "date": "2026-01-22",
      "position": 177,
      "points": 397
    },
    {
      "date": "2026-01-21",
      "position": 177,
      "points": 397
    }
  ],
  "career_stats": {
    "total_matches": 30,
    "wins": 19,
    "losses": 11,
    "win_rate": 63.3
  },
  "surface_stats": {
    "hard": {
      "matches": 11,
      "wins": 5,
      "losses": 6,
      "win_rate": 45.5
    },
    "clay": {
      "matches": 19,
      "wins": 14,
      "losses": 5,
      "win_rate": 73.7
    },
    "grass": {
      "matches": 0,
      "wins": 0,
      "losses": 0,
      "win_rate": 0
    }
  },
  "category_stats": {
    "Grand Slam": {
      "matches": 2,
      "wins": 1,
      "losses": 1,
      "win_rate": 50.0
    },
    "WTA 1000": {
      "matches": 5,
      "wins": 3,
      "losses": 2,
      "win_rate": 60.0
    },
    "WTA 500": {
      "matches": 2,
      "wins": 1,
      "losses": 1,
      "win_rate": 50.0
    },
    "WTA 250": {
      "matches": 21,
      "wins": 14,
      "losses": 7,
      "win_rate": 66.7
    }
  },
  "average_match_stats": {
    "matches_with_stats": 30,
    "avg_aces_per_match": 1.9,
    "avg_double_faults_per_match": 3.3,
    "avg_first_serve_pct": 62.7,
    "avg_first_serve_won_pct": 69.7,
    "avg_second_serve_won_pct": 46.4,
    "avg_break_points_converted_pct": null
  },
  "recent_form": [
    {
      "date": "2026-01-14",
      "opponent": "Marina Stakusic",
      "opponent_id": 319995,
      "tournament": "Australian Open",
      "surface": "hard",
      "round": "Qualification Round 2",
      "result": "L",
      "score": "0-2",
      "stats": {
        "aces": 0,
        "double_faults": 2,
        "first_serve_pct": 58.82352941176471,
        "first_serve_won_pct": 53.333333333333336,
        "second_serve_won_pct": 50.0,
        "break_points_converted_pct": null,
        "total_points_won": null
      }
    },
    {
      "date": "2026-01-12",
      "opponent": "Tereza Mrdeza",
      "opponent_id": 41287,
      "tournament": "Australian Open",
      "surface": "hard",
      "round": "Qualification Round 1",
      "result": "W",
      "score": "2-0",
      "stats": {
        "aces": 5,
        "double_faults": 1,
        "first_serve_pct": 57.49999999999999,
        "first_serve_won_pct": 86.95652173913044,
        "second_serve_won_pct": 70.58823529411765,
        "break_points_converted_pct": null,
        "total_points_won": null
      }
    },
    {
      "date": "2026-01-06",
      "opponent": "Lola Radivojevic",
      "opponent_id": 348712,
      "tournament": "Canberra, Australia",
      "surface": "hard",
      "round": "Round of 32",
      "result": "L",
      "score": "0-2",
      "stats": {
        "aces": 4,
        "double_faults": 6,
        "first_serve_pct": 68.57142857142857,
        "first_serve_won_pct": 62.5,
        "second_serve_won_pct": 18.181818181818183,
        "break_points_converted_pct": null,
        "total_points_won": null
      }
    },
    {
      "date": "2026-01-05",
      "opponent": "Elena Pridankina",
      "opponent_id": 383652,
      "tournament": "Canberra, Australia",
      "surface": "hard",
      "round": "Qualification Final",
      "result": "W",
      "score": "2-1",
      "stats": {
        "aces": 10,
        "double_faults": 4,
        "first_serve_pct": 96.72131147540983,
        "first_serve_won_pct": 62.71186440677966,
        "second_serve_won_pct": 0.0,
        "break_points_converted_pct": null,
        "total_points_won": null
      }
    },
    {
      "date": "2026-01-04",
      "opponent": "Camilla Rosatello",
      "opponent_id": 51651,
      "tournament": "Canberra, Australia",
      "surface": "hard",
      "round": "Qualification Round 1",
      "result": "W",
      "score": "2-0",
      "stats": {
        "aces": 2,
        "double_faults": 2,
        "first_serve_pct": 69.38775510204081,
        "first_serve_won_pct": 73.52941176470588,
        "second_serve_won_pct": 50.0,
        "break_points_converted_pct": null,
        "total_points_won": null
      }
    },
    {
      "date": "2025-12-08",
      "opponent": "Cristina Bucsa",
      "opponent_id": 99131,
      "tournament": "Limoges, France",
      "surface": "hard",
      "round": "Round of 32",
      "result": "L",
      "score": "0-2",
      "stats": {
        "aces": 0,
        "double_faults": 6,
        "first_serve_pct": 47.72727272727273,
        "first_serve_won_pct": 61.904761904761905,
        "second_serve_won_pct": 30.434782608695656,
        "break_points_converted_pct": null,
        "total_points_won": null
      }
    },
    {
      "date": "2025-12-01",
      "opponent": "Anna-Lena Friedsam",
      "opponent_id": 50655,
      "tournament": "Angers, France",
      "surface": "hard",
      "round": "Round of 32",
      "result": "L",
      "score": "0-2",
      "stats": {
        "aces": 3,
        "double_faults": 3,
        "first_serve_pct": 50.649350649350644,
        "first_serve_won_pct": 53.84615384615385,
        "second_serve_won_pct": 46.15384615384615,
        "break_points_converted_pct": null,
        "total_points_won": null
      }
    },
    {
      "date": "2025-10-11",
      "opponent": "Lola Radivojevic",
      "opponent_id": 348712,
      "tournament": "WTA 125K Mallorca, Spain Women Singles",
      "surface": "clay",
      "round": "Semifinals",
      "result": "L",
      "score": "0-2",
      "stats": {
        "aces": 1,
        "double_faults": 0,
        "first_serve_pct": 57.971014492753625,
        "first_serve_won_pct": 67.5,
        "second_serve_won_pct": 48.275862068965516,
        "break_points_converted_pct": null,
        "total_points_won": null
      }
    },
    {
      "date": "2025-10-10",
      "opponent": "Maria Carle",
      "opponent_id": 141892,
      "tournament": "WTA 125K Mallorca, Spain Women Singles",
      "surface": "clay",
      "round": "Quarterfinals",
      "result": "W",
      "score": "2-0",
      "stats": {
        "aces": 1,
        "double_faults": 2,
        "first_serve_pct": 59.64912280701754,
        "first_serve_won_pct": 58.82352941176471,
        "second_serve_won_pct": 47.82608695652174,
        "break_points_converted_pct": null,
        "total_points_won": null
      }
    },
    {
      "date": "2025-10-08",
      "opponent": "Mayar Sherif",
      "opponent_id": 88310,
      "tournament": "WTA 125K Mallorca, Spain Women Singles",
      "surface": "clay",
      "round": "Round of 16",
      "result": "W",
      "score": "2-0",
      "stats": {
        "aces": 2,
        "double_faults": 5,
        "first_serve_pct": 70.37037037037037,
        "first_serve_won_pct": 59.64912280701754,
        "second_serve_won_pct": 27.27272727272727,
        "break_points_converted_pct": null,
        "total_points_won": null
      }
    }
  ],
  "form_summary": {
    "last_10_matches": 10,
    "wins": 5,
    "losses": 5,
    "form_string": "LWLWWLLLWW"
  },
  "head_to_head": [
    {
      "opponent": "Oleksandra Oliynykova",
      "opponent_id": 250859,
      "matches": 2,
      "wins": 0,
      "losses": 2
    },
    {
      "opponent": "Lola Radivojevic",
      "opponent_id": 348712,
      "matches": 2,
      "wins": 0,
      "losses": 2
    },
    {
      "opponent": "Anna-Lena Friedsam",
      "opponent_id": 50655,
      "matches": 1,
      "wins": 0,
      "losses": 1
    },
    {
      "opponent": "Mayar Sherif",
      "opponent_id": 88310,
      "matches": 1,
      "wins": 1,
      "losses": 0
    },
    {
      "opponent": "Lucrezia Stefanini",
      "opponent_id": 155890,
      "matches": 1,
      "wins": 1,
      "losses": 0
    }
  ],
  "upcoming_matches": [],
  "year_statistics": [
    {
      "year": 2025,
      "surfaces": {
        "hardcourt_indoor": {
          "matches": 2,
          "wins": 0,
          "losses": 2,
          "win_rate": 0.0,
          "tournaments_played": 2,
          "tournaments_won": 0,
          "tiebreaks_won": 0,
          "tiebreaks_lost": 1,
          "aces": 3,
          "double_faults": 9,
          "aces_per_match": 1.5,
          "double_faults_per_match": 4.5,
          "first_serve_pct": 65.4,
          "first_serve_won_pct": 56.1,
          "second_serve_won_pct": 56.4,
          "break_points_saved_pct": 38.5,
          "break_points_converted_pct": 33.3,
          "winners_total": 0,
          "unforced_errors_total": 0
        },
        "hardcourt_outdoor": {
          "matches": 4,
          "wins": 2,
          "losses": 2,
          "win_rate": 50.0,
          "tournaments_played": 3,
          "tournaments_won": 0,
          "tiebreaks_won": 0,
          "tiebreaks_lost": 1,
          "aces": 5,
          "double_faults": 14,
          "aces_per_match": 1.2,
          "double_faults_per_match": 3.5,
          "first_serve_pct": 72.9,
          "first_serve_won_pct": 66.4,
          "second_serve_won_pct": 53.6,
          "break_points_saved_pct": 42.1,
          "break_points_converted_pct": 45.5,
          "winners_total": 0,
          "unforced_errors_total": 0
        },
        "red_clay": {
          "matches": 9,
          "wins": 6,
          "losses": 3,
          "win_rate": 66.7,
          "tournaments_played": 6,
          "tournaments_won": 0,
          "tiebreaks_won": 4,
          "tiebreaks_lost": 1,
          "aces": 12,
          "double_faults": 28,
          "aces_per_match": 1.3,
          "double_faults_per_match": 3.1,
          "first_serve_pct": 72.9,
          "first_serve_won_pct": 64.7,
          "second_serve_won_pct": 54.7,
          "break_points_saved_pct": 55.9,
          "break_points_converted_pct": 48.3,
          "winners_total": 0,
          "unforced_errors_total": 0
        }
      },
      "totals": {
        "matches": 15,
        "wins": 8,
        "tournaments_played": 11,
        "tournaments_won": 0,
        "aces": 20,
        "double_faults": 51,
        "win_rate": 53.3,
        "losses": 7
      }
    }
  ],
  "data_generated_at": "2026-01-30 08:57:03 UTC"
}