Player Data JSON

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

Sofia Costoulas

Sofia Costoulas

Belgium WTA 146
18W - 15L 54.5% Win Rate Forma: LLWWLWLLWW

JSON Data

{
  "player": {
    "id": 993,
    "api_id": 339457,
    "name": "Sofia Costoulas",
    "short_name": "S. Costoulas",
    "country": "Belgium",
    "country_code": "BE",
    "gender": "Female",
    "circuit": "WTA",
    "date_of_birth": "2005-04-02",
    "height_cm": null,
    "weight_kg": null,
    "plays": "",
    "turned_pro": null
  },
  "utr": {
    "id": 1969458,
    "singles": 11.79,
    "doubles": 11.21,
    "ranking": 185,
    "division": "Pro",
    "is_pro": true,
    "updated_at": "2026-04-12"
  },
  "current_ranking": {
    "position": 146,
    "points": 527,
    "best_position": 134,
    "date": "2026-05-08"
  },
  "ranking_history": [
    {
      "date": "2026-05-08",
      "position": 146,
      "points": 527
    },
    {
      "date": "2026-05-07",
      "position": 146,
      "points": 527
    },
    {
      "date": "2026-05-06",
      "position": 146,
      "points": 527
    },
    {
      "date": "2026-05-05",
      "position": 146,
      "points": 527
    },
    {
      "date": "2026-05-04",
      "position": 146,
      "points": 527
    },
    {
      "date": "2026-05-03",
      "position": 151,
      "points": 500
    },
    {
      "date": "2026-05-02",
      "position": 151,
      "points": 500
    },
    {
      "date": "2026-05-01",
      "position": 151,
      "points": 500
    },
    {
      "date": "2026-04-30",
      "position": 151,
      "points": 500
    },
    {
      "date": "2026-04-29",
      "position": 151,
      "points": 500
    }
  ],
  "career_stats": {
    "total_matches": 33,
    "wins": 18,
    "losses": 15,
    "win_rate": 54.5
  },
  "surface_stats": {
    "hard": {
      "matches": 23,
      "wins": 14,
      "losses": 9,
      "win_rate": 60.9
    },
    "clay": {
      "matches": 9,
      "wins": 4,
      "losses": 5,
      "win_rate": 44.4
    },
    "grass": {
      "matches": 1,
      "wins": 0,
      "losses": 1,
      "win_rate": 0.0
    }
  },
  "category_stats": {
    "Grand Slam": {
      "matches": 5,
      "wins": 1,
      "losses": 4,
      "win_rate": 20.0
    },
    "WTA 250": {
      "matches": 28,
      "wins": 17,
      "losses": 11,
      "win_rate": 60.7
    }
  },
  "average_match_stats": {
    "matches_with_stats": 33,
    "avg_aces_per_match": 3.4,
    "avg_double_faults_per_match": 2.2,
    "avg_first_serve_pct": 66.8,
    "avg_first_serve_won_pct": 65.7,
    "avg_second_serve_won_pct": 45.0,
    "avg_break_points_converted_pct": null
  },
  "recent_form": [
    {
      "date": "2026-05-05",
      "opponent": "Mia Ristić",
      "opponent_id": 348715,
      "tournament": "WTA 125K Istanbul, Turkiye Women Singles",
      "surface": "clay",
      "round": "Round of 32",
      "result": "L",
      "score": "1-0",
      "stats": {
        "aces": 3,
        "double_faults": 0,
        "first_serve_pct": 61.97183098591549,
        "first_serve_won_pct": 70.45454545454545,
        "second_serve_won_pct": 44.44444444444444,
        "break_points_converted_pct": null,
        "total_points_won": null
      }
    },
    {
      "date": "2026-05-01",
      "opponent": "Moyuka Uchijima",
      "opponent_id": 253356,
      "tournament": "Saint-Malo, France",
      "surface": "clay",
      "round": "Quarterfinals",
      "result": "L",
      "score": "0-2",
      "stats": {
        "aces": 3,
        "double_faults": 2,
        "first_serve_pct": 61.016949152542374,
        "first_serve_won_pct": 44.44444444444444,
        "second_serve_won_pct": 47.82608695652174,
        "break_points_converted_pct": null,
        "total_points_won": null
      }
    },
    {
      "date": "2026-04-29",
      "opponent": "Leolia Jeanjean",
      "opponent_id": 112957,
      "tournament": "Saint-Malo, France",
      "surface": "clay",
      "round": "Round of 16",
      "result": "W",
      "score": "2-1",
      "stats": {
        "aces": 7,
        "double_faults": 3,
        "first_serve_pct": 62.727272727272734,
        "first_serve_won_pct": 66.66666666666666,
        "second_serve_won_pct": 27.27272727272727,
        "break_points_converted_pct": null,
        "total_points_won": null
      }
    },
    {
      "date": "2026-04-28",
      "opponent": "Ayla Aksu",
      "opponent_id": 102191,
      "tournament": "Saint-Malo, France",
      "surface": "clay",
      "round": "Round of 32",
      "result": "W",
      "score": "2-0",
      "stats": {
        "aces": 3,
        "double_faults": 2,
        "first_serve_pct": 62.5,
        "first_serve_won_pct": 69.0909090909091,
        "second_serve_won_pct": 41.66666666666667,
        "break_points_converted_pct": null,
        "total_points_won": null
      }
    },
    {
      "date": "2026-04-22",
      "opponent": "Elena Pridankina",
      "opponent_id": 383652,
      "tournament": "WTA 125K Oeiras 4, Portugal Women Singles",
      "surface": "clay",
      "round": "Round of 16",
      "result": "L",
      "score": "0-2",
      "stats": {
        "aces": 0,
        "double_faults": 9,
        "first_serve_pct": 65.57377049180327,
        "first_serve_won_pct": 47.5,
        "second_serve_won_pct": 50.0,
        "break_points_converted_pct": null,
        "total_points_won": null
      }
    },
    {
      "date": "2026-04-20",
      "opponent": "Anouk Koevermans",
      "opponent_id": 296390,
      "tournament": "WTA 125K Oeiras 4, Portugal Women Singles",
      "surface": "clay",
      "round": "Round of 32",
      "result": "W",
      "score": "2-0",
      "stats": {
        "aces": 1,
        "double_faults": 5,
        "first_serve_pct": 53.2258064516129,
        "first_serve_won_pct": 87.87878787878788,
        "second_serve_won_pct": 42.30769230769231,
        "break_points_converted_pct": null,
        "total_points_won": null
      }
    },
    {
      "date": "2026-03-31",
      "opponent": "Hanne Vandewinkel",
      "opponent_id": 383994,
      "tournament": "Bogota",
      "surface": "clay",
      "round": "Round of 32",
      "result": "L",
      "score": "1-2",
      "stats": {
        "aces": 0,
        "double_faults": 5,
        "first_serve_pct": 62.92134831460674,
        "first_serve_won_pct": 62.5,
        "second_serve_won_pct": 30.303030303030305,
        "break_points_converted_pct": null,
        "total_points_won": null
      }
    },
    {
      "date": "2026-02-20",
      "opponent": "Fiona Ferro",
      "opponent_id": 65656,
      "tournament": "WTA 125K Les Sables d Olonne, France Women Singles",
      "surface": "hard",
      "round": "Quarterfinals",
      "result": "L",
      "score": "0-2",
      "stats": {
        "aces": 1,
        "double_faults": 4,
        "first_serve_pct": 60.0,
        "first_serve_won_pct": 63.63636363636363,
        "second_serve_won_pct": 55.00000000000001,
        "break_points_converted_pct": null,
        "total_points_won": null
      }
    },
    {
      "date": "2026-02-18",
      "opponent": "Astrid Lew Yan Foon",
      "opponent_id": 377956,
      "tournament": "WTA 125K Les Sables d Olonne, France Women Singles",
      "surface": "hard",
      "round": "Round of 16",
      "result": "W",
      "score": "2-0",
      "stats": {
        "aces": 0,
        "double_faults": 0,
        "first_serve_pct": 87.17948717948718,
        "first_serve_won_pct": 91.17647058823529,
        "second_serve_won_pct": 29.411764705882355,
        "break_points_converted_pct": null,
        "total_points_won": null
      }
    },
    {
      "date": "2026-02-16",
      "opponent": "Chloe Paquet",
      "opponent_id": 46591,
      "tournament": "WTA 125K Les Sables d Olonne, France Women Singles",
      "surface": "hard",
      "round": "Round of 32",
      "result": "W",
      "score": "2-0",
      "stats": {
        "aces": 2,
        "double_faults": 1,
        "first_serve_pct": 58.620689655172406,
        "first_serve_won_pct": 76.47058823529412,
        "second_serve_won_pct": 21.052631578947366,
        "break_points_converted_pct": null,
        "total_points_won": null
      }
    }
  ],
  "form_summary": {
    "last_10_matches": 10,
    "wins": 5,
    "losses": 5,
    "form_string": "LLWWLWLLWW"
  },
  "head_to_head": [
    {
      "opponent": "Anouk Koevermans",
      "opponent_id": 296390,
      "matches": 1,
      "wins": 1,
      "losses": 0
    },
    {
      "opponent": "Chloe Paquet",
      "opponent_id": 46591,
      "matches": 1,
      "wins": 1,
      "losses": 0
    },
    {
      "opponent": "Leolia Jeanjean",
      "opponent_id": 112957,
      "matches": 1,
      "wins": 1,
      "losses": 0
    },
    {
      "opponent": "Viktorija Golubic",
      "opponent_id": 48455,
      "matches": 1,
      "wins": 0,
      "losses": 1
    },
    {
      "opponent": "Lucrezia Stefanini",
      "opponent_id": 155890,
      "matches": 1,
      "wins": 0,
      "losses": 1
    }
  ],
  "upcoming_matches": [],
  "year_statistics": [
    {
      "year": 2025,
      "surfaces": {
        "grass": {
          "matches": 1,
          "wins": 0,
          "losses": 1,
          "win_rate": 0.0,
          "tournaments_played": 1,
          "tournaments_won": 0,
          "tiebreaks_won": 0,
          "tiebreaks_lost": 1,
          "aces": 5,
          "double_faults": 2,
          "aces_per_match": 5.0,
          "double_faults_per_match": 2.0,
          "first_serve_pct": 75.3,
          "first_serve_won_pct": 62.8,
          "second_serve_won_pct": 36.8,
          "break_points_saved_pct": 33.3,
          "break_points_converted_pct": 20.0,
          "winners_total": 0,
          "unforced_errors_total": 0
        },
        "hardcourt_indoor": {
          "matches": 1,
          "wins": 0,
          "losses": 1,
          "win_rate": 0.0,
          "tournaments_played": 1,
          "tournaments_won": 0,
          "tiebreaks_won": 0,
          "tiebreaks_lost": 0,
          "aces": 1,
          "double_faults": 1,
          "aces_per_match": 1.0,
          "double_faults_per_match": 1.0,
          "first_serve_pct": 77.8,
          "first_serve_won_pct": 51.4,
          "second_serve_won_pct": 30.8,
          "break_points_saved_pct": 50.0,
          "break_points_converted_pct": 20.0,
          "winners_total": 0,
          "unforced_errors_total": 0
        },
        "hardcourt_outdoor": {
          "matches": 3,
          "wins": 1,
          "losses": 2,
          "win_rate": 33.3,
          "tournaments_played": 5,
          "tournaments_won": 0,
          "tiebreaks_won": 0,
          "tiebreaks_lost": 0,
          "aces": 19,
          "double_faults": 10,
          "aces_per_match": 6.3,
          "double_faults_per_match": 3.3,
          "first_serve_pct": 69.3,
          "first_serve_won_pct": 60.8,
          "second_serve_won_pct": 55.2,
          "break_points_saved_pct": 63.2,
          "break_points_converted_pct": 40.7,
          "winners_total": 0,
          "unforced_errors_total": 0
        },
        "red_clay": {
          "matches": 2,
          "wins": 1,
          "losses": 1,
          "win_rate": 50.0,
          "tournaments_played": 1,
          "tournaments_won": 0,
          "tiebreaks_won": 0,
          "tiebreaks_lost": 1,
          "aces": 4,
          "double_faults": 2,
          "aces_per_match": 2.0,
          "double_faults_per_match": 1.0,
          "first_serve_pct": 78.9,
          "first_serve_won_pct": 65.2,
          "second_serve_won_pct": 45.0,
          "break_points_saved_pct": 60.0,
          "break_points_converted_pct": 47.4,
          "winners_total": 0,
          "unforced_errors_total": 0
        }
      },
      "totals": {
        "matches": 7,
        "wins": 2,
        "tournaments_played": 8,
        "tournaments_won": 0,
        "aces": 29,
        "double_faults": 15,
        "win_rate": 28.6,
        "losses": 5
      }
    },
    {
      "year": 2024,
      "surfaces": {
        "hardcourt_indoor": {
          "matches": 2,
          "wins": 1,
          "losses": 1,
          "win_rate": 50.0,
          "tournaments_played": 3,
          "tournaments_won": 0,
          "tiebreaks_won": 0,
          "tiebreaks_lost": 0,
          "aces": 7,
          "double_faults": 12,
          "aces_per_match": 3.5,
          "double_faults_per_match": 6.0,
          "first_serve_pct": 69.7,
          "first_serve_won_pct": 58.3,
          "second_serve_won_pct": 47.9,
          "break_points_saved_pct": 66.7,
          "break_points_converted_pct": 52.6,
          "winners_total": 0,
          "unforced_errors_total": 0
        },
        "red_clay": {
          "matches": 3,
          "wins": 1,
          "losses": 2,
          "win_rate": 33.3,
          "tournaments_played": 16,
          "tournaments_won": 0,
          "tiebreaks_won": 0,
          "tiebreaks_lost": 0,
          "aces": 3,
          "double_faults": 1,
          "aces_per_match": 1.0,
          "double_faults_per_match": 0.3,
          "first_serve_pct": 74.9,
          "first_serve_won_pct": 61.1,
          "second_serve_won_pct": 48.2,
          "break_points_saved_pct": 58.6,
          "break_points_converted_pct": 25.0,
          "winners_total": 0,
          "unforced_errors_total": 0
        }
      },
      "totals": {
        "matches": 5,
        "wins": 2,
        "tournaments_played": 19,
        "tournaments_won": 0,
        "aces": 10,
        "double_faults": 13,
        "win_rate": 40.0,
        "losses": 3
      }
    }
  ],
  "data_generated_at": "2026-05-09 00:52:22 UTC"
}