Player Data JSON
Obtiene datos completos de un jugador en formato JSON para alimentar LLMs
Sofia Costoulas
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"
}