Player Data JSON
Obtiene datos completos de un jugador en formato JSON para alimentar LLMs
Otto Virtanen
17W - 15L
53,1% Win Rate
Forma: WWLLWWWWLW
JSON Data
{
"player": {
"id": 506,
"api_id": 229218,
"name": "Otto Virtanen",
"short_name": "O. Virtanen",
"country": "Finland",
"country_code": "FI",
"gender": "Male",
"circuit": "ATP",
"date_of_birth": null,
"height_cm": null,
"weight_kg": null,
"plays": "",
"turned_pro": null
},
"utr": {
"id": 2600323,
"singles": 14.87,
"doubles": 13.24,
"ranking": 100,
"division": "Pro",
"is_pro": true,
"updated_at": "2026-01-18"
},
"current_ranking": {
"position": 126,
"points": 488,
"best_position": 91,
"date": "2026-01-30"
},
"ranking_history": [
{
"date": "2026-01-30",
"position": 126,
"points": 488
},
{
"date": "2026-01-29",
"position": 126,
"points": 488
},
{
"date": "2026-01-28",
"position": 126,
"points": 488
},
{
"date": "2026-01-27",
"position": 126,
"points": 488
},
{
"date": "2026-01-26",
"position": 126,
"points": 488
},
{
"date": "2026-01-25",
"position": 126,
"points": 488
},
{
"date": "2026-01-24",
"position": 126,
"points": 488
},
{
"date": "2026-01-23",
"position": 126,
"points": 488
},
{
"date": "2026-01-22",
"position": 126,
"points": 488
},
{
"date": "2026-01-21",
"position": 126,
"points": 488
}
],
"career_stats": {
"total_matches": 32,
"wins": 17,
"losses": 15,
"win_rate": 53.1
},
"surface_stats": {
"hard": {
"matches": 23,
"wins": 12,
"losses": 11,
"win_rate": 52.2
},
"clay": {
"matches": 8,
"wins": 4,
"losses": 4,
"win_rate": 50.0
},
"grass": {
"matches": 1,
"wins": 1,
"losses": 0,
"win_rate": 100.0
}
},
"category_stats": {
"Grand Slam": {
"matches": 6,
"wins": 2,
"losses": 4,
"win_rate": 33.3
},
"Masters 1000": {
"matches": 5,
"wins": 2,
"losses": 3,
"win_rate": 40.0
},
"ATP 500": {
"matches": 5,
"wins": 2,
"losses": 3,
"win_rate": 40.0
},
"ATP 250": {
"matches": 5,
"wins": 3,
"losses": 2,
"win_rate": 60.0
},
"Challenger": {
"matches": 11,
"wins": 8,
"losses": 3,
"win_rate": 72.7
}
},
"average_match_stats": {
"matches_with_stats": 32,
"avg_aces_per_match": 7.8,
"avg_double_faults_per_match": 2.8,
"avg_first_serve_pct": 62.3,
"avg_first_serve_won_pct": 71.3,
"avg_second_serve_won_pct": 48.7,
"avg_break_points_converted_pct": null
},
"recent_form": [
{
"date": "2026-01-29",
"opponent": "Lorenzo Giustino",
"opponent_id": 48626,
"tournament": "Manama, Bahrain",
"surface": "hard",
"round": "Round of 16",
"result": "W",
"score": "2-0",
"stats": {
"aces": 5,
"double_faults": 2,
"first_serve_pct": 71.64179104477611,
"first_serve_won_pct": 81.25,
"second_serve_won_pct": 52.63157894736842,
"break_points_converted_pct": null,
"total_points_won": null
}
},
{
"date": "2026-01-27",
"opponent": "Zhizhen Zhang",
"opponent_id": 75813,
"tournament": "Manama, Bahrain",
"surface": "hard",
"round": "Round of 32",
"result": "W",
"score": "2-1",
"stats": {
"aces": 7,
"double_faults": 6,
"first_serve_pct": 57.692307692307686,
"first_serve_won_pct": 66.66666666666666,
"second_serve_won_pct": 54.54545454545454,
"break_points_converted_pct": null,
"total_points_won": null
}
},
{
"date": "2026-01-13",
"opponent": "Nicolas Mejia",
"opponent_id": 187218,
"tournament": "Australian Open",
"surface": "hard",
"round": "Qualification Round 1",
"result": "L",
"score": "1-2",
"stats": {
"aces": 15,
"double_faults": 2,
"first_serve_pct": 73.03370786516854,
"first_serve_won_pct": 64.61538461538461,
"second_serve_won_pct": 64.0,
"break_points_converted_pct": null,
"total_points_won": null
}
},
{
"date": "2025-11-09",
"opponent": "Patrick Kypson",
"opponent_id": 210490,
"tournament": "Helsinki, Finland",
"surface": "hard",
"round": "Final",
"result": "L",
"score": "1-2",
"stats": {
"aces": 14,
"double_faults": 2,
"first_serve_pct": 58.97435897435898,
"first_serve_won_pct": 78.26086956521739,
"second_serve_won_pct": 52.38095238095239,
"break_points_converted_pct": null,
"total_points_won": null
}
},
{
"date": "2025-11-08",
"opponent": "Sascha Gueymard Wayenburg",
"opponent_id": 340741,
"tournament": "Helsinki, Finland",
"surface": "hard",
"round": "Semifinals",
"result": "W",
"score": "2-0",
"stats": {
"aces": 7,
"double_faults": 1,
"first_serve_pct": 51.78571428571429,
"first_serve_won_pct": 82.75862068965517,
"second_serve_won_pct": 46.15384615384615,
"break_points_converted_pct": null,
"total_points_won": null
}
},
{
"date": "2025-11-07",
"opponent": "Marin Čilić",
"opponent_id": 15387,
"tournament": "Helsinki, Finland",
"surface": "hard",
"round": "Quarterfinals",
"result": "W",
"score": "2-0",
"stats": {
"aces": 9,
"double_faults": 4,
"first_serve_pct": 50.0,
"first_serve_won_pct": 89.28571428571429,
"second_serve_won_pct": 60.71428571428571,
"break_points_converted_pct": null,
"total_points_won": null
}
},
{
"date": "2025-11-06",
"opponent": "Emil Ruusuvuori",
"opponent_id": 167370,
"tournament": "Helsinki, Finland",
"surface": "hard",
"round": "Round of 16",
"result": "W",
"score": "2-0",
"stats": {
"aces": 15,
"double_faults": 3,
"first_serve_pct": 66.66666666666666,
"first_serve_won_pct": 79.41176470588235,
"second_serve_won_pct": 52.94117647058824,
"break_points_converted_pct": null,
"total_points_won": null
}
},
{
"date": "2025-11-05",
"opponent": "Gauthier Onclin",
"opponent_id": 233700,
"tournament": "Helsinki, Finland",
"surface": "hard",
"round": "Round of 32",
"result": "W",
"score": "2-0",
"stats": {
"aces": 18,
"double_faults": 2,
"first_serve_pct": 58.2089552238806,
"first_serve_won_pct": 82.05128205128204,
"second_serve_won_pct": 46.42857142857143,
"break_points_converted_pct": null,
"total_points_won": null
}
},
{
"date": "2025-10-31",
"opponent": "Alexander Blockx",
"opponent_id": 390214,
"tournament": "Bratislava, Slovakia",
"surface": "hard",
"round": "Quarterfinals",
"result": "L",
"score": "1-2",
"stats": {
"aces": 11,
"double_faults": 1,
"first_serve_pct": 64.86486486486487,
"first_serve_won_pct": 72.91666666666666,
"second_serve_won_pct": 50.0,
"break_points_converted_pct": null,
"total_points_won": null
}
},
{
"date": "2025-10-29",
"opponent": "Tristan Schoolkate",
"opponent_id": 275471,
"tournament": "Bratislava, Slovakia",
"surface": "hard",
"round": "Round of 16",
"result": "W",
"score": "2-0",
"stats": {
"aces": 8,
"double_faults": 0,
"first_serve_pct": 59.523809523809526,
"first_serve_won_pct": 84.0,
"second_serve_won_pct": 36.84210526315789,
"break_points_converted_pct": null,
"total_points_won": null
}
}
],
"form_summary": {
"last_10_matches": 10,
"wins": 7,
"losses": 3,
"form_string": "WWLLWWWWLW"
},
"head_to_head": [
{
"opponent": "Daniel Altmaier",
"opponent_id": 127208,
"matches": 2,
"wins": 1,
"losses": 1
},
{
"opponent": "Alexander Blockx",
"opponent_id": 390214,
"matches": 2,
"wins": 0,
"losses": 2
},
{
"opponent": "Arthur Fils",
"opponent_id": 338500,
"matches": 1,
"wins": 0,
"losses": 1
},
{
"opponent": "Tristan Schoolkate",
"opponent_id": 275471,
"matches": 1,
"wins": 1,
"losses": 0
},
{
"opponent": "Sebastian Korda",
"opponent_id": 195840,
"matches": 1,
"wins": 1,
"losses": 0
}
],
"upcoming_matches": [
{
"date": "2026-01-30 14:00",
"opponent": "Stefano Travaglia",
"opponent_id": 36300,
"tournament": "Manama, Bahrain",
"surface": "hard",
"round": "Quarterfinals",
"odds_player": 1.53,
"odds_opponent": 2.38
}
],
"year_statistics": [
{
"year": 2025,
"surfaces": {
"grass": {
"matches": 1,
"wins": 1,
"losses": 0,
"win_rate": 100.0,
"tournaments_played": 2,
"tournaments_won": 1,
"tiebreaks_won": 1,
"tiebreaks_lost": 0,
"aces": 7,
"double_faults": 3,
"aces_per_match": 7.0,
"double_faults_per_match": 3.0,
"first_serve_pct": 70.6,
"first_serve_won_pct": 77.8,
"second_serve_won_pct": 48.3,
"break_points_saved_pct": 25.0,
"break_points_converted_pct": 22.2,
"winners_total": 0,
"unforced_errors_total": 0
},
"hardcourt_indoor": {
"matches": 18,
"wins": 12,
"losses": 6,
"win_rate": 66.7,
"tournaments_played": 8,
"tournaments_won": 1,
"tiebreaks_won": 4,
"tiebreaks_lost": 5,
"aces": 209,
"double_faults": 42,
"aces_per_match": 11.6,
"double_faults_per_match": 2.3,
"first_serve_pct": 71.5,
"first_serve_won_pct": 77.6,
"second_serve_won_pct": 57.1,
"break_points_saved_pct": 65.8,
"break_points_converted_pct": 39.0,
"winners_total": 0,
"unforced_errors_total": 0
},
"hardcourt_outdoor": {
"matches": 12,
"wins": 4,
"losses": 8,
"win_rate": 33.3,
"tournaments_played": 8,
"tournaments_won": 0,
"tiebreaks_won": 0,
"tiebreaks_lost": 3,
"aces": 76,
"double_faults": 56,
"aces_per_match": 6.3,
"double_faults_per_match": 4.7,
"first_serve_pct": 72.9,
"first_serve_won_pct": 68.8,
"second_serve_won_pct": 56.9,
"break_points_saved_pct": 72.8,
"break_points_converted_pct": 50.0,
"winners_total": 31,
"unforced_errors_total": 52
},
"red_clay": {
"matches": 12,
"wins": 5,
"losses": 7,
"win_rate": 41.7,
"tournaments_played": 7,
"tournaments_won": 0,
"tiebreaks_won": 3,
"tiebreaks_lost": 1,
"aces": 44,
"double_faults": 24,
"aces_per_match": 3.7,
"double_faults_per_match": 2.0,
"first_serve_pct": 71.9,
"first_serve_won_pct": 66.9,
"second_serve_won_pct": 46.3,
"break_points_saved_pct": 69.5,
"break_points_converted_pct": 31.0,
"winners_total": 0,
"unforced_errors_total": 0
}
},
"totals": {
"matches": 43,
"wins": 22,
"tournaments_played": 25,
"tournaments_won": 2,
"aces": 336,
"double_faults": 125,
"win_rate": 51.2,
"losses": 21
}
},
{
"year": 2024,
"surfaces": {
"grass": {
"matches": 8,
"wins": 5,
"losses": 3,
"win_rate": 62.5,
"tournaments_played": 3,
"tournaments_won": 0,
"tiebreaks_won": 3,
"tiebreaks_lost": 4,
"aces": 109,
"double_faults": 26,
"aces_per_match": 13.6,
"double_faults_per_match": 3.2,
"first_serve_pct": 71.6,
"first_serve_won_pct": 75.0,
"second_serve_won_pct": 58.7,
"break_points_saved_pct": 73.8,
"break_points_converted_pct": 31.2,
"winners_total": 77,
"unforced_errors_total": 81
},
"hardcourt_indoor": {
"matches": 27,
"wins": 23,
"losses": 4,
"win_rate": 85.2,
"tournaments_played": 8,
"tournaments_won": 3,
"tiebreaks_won": 9,
"tiebreaks_lost": 3,
"aces": 263,
"double_faults": 96,
"aces_per_match": 9.7,
"double_faults_per_match": 3.6,
"first_serve_pct": 71.0,
"first_serve_won_pct": 76.9,
"second_serve_won_pct": 57.9,
"break_points_saved_pct": 66.9,
"break_points_converted_pct": 39.2,
"winners_total": 0,
"unforced_errors_total": 0
},
"hardcourt_outdoor": {
"matches": 20,
"wins": 9,
"losses": 11,
"win_rate": 45.0,
"tournaments_played": 11,
"tournaments_won": 0,
"tiebreaks_won": 5,
"tiebreaks_lost": 5,
"aces": 142,
"double_faults": 89,
"aces_per_match": 7.1,
"double_faults_per_match": 4.5,
"first_serve_pct": 72.2,
"first_serve_won_pct": 68.8,
"second_serve_won_pct": 53.3,
"break_points_saved_pct": 55.8,
"break_points_converted_pct": 35.2,
"winners_total": 83,
"unforced_errors_total": 64
},
"red_clay": {
"matches": 12,
"wins": 5,
"losses": 7,
"win_rate": 41.7,
"tournaments_played": 6,
"tournaments_won": 0,
"tiebreaks_won": 1,
"tiebreaks_lost": 1,
"aces": 69,
"double_faults": 49,
"aces_per_match": 5.8,
"double_faults_per_match": 4.1,
"first_serve_pct": 70.0,
"first_serve_won_pct": 72.6,
"second_serve_won_pct": 52.0,
"break_points_saved_pct": 52.3,
"break_points_converted_pct": 37.5,
"winners_total": 54,
"unforced_errors_total": 75
}
},
"totals": {
"matches": 67,
"wins": 42,
"tournaments_played": 28,
"tournaments_won": 3,
"aces": 583,
"double_faults": 260,
"win_rate": 62.7,
"losses": 25
}
},
{
"year": 2023,
"surfaces": {
"grass": {
"matches": 3,
"wins": 2,
"losses": 1,
"win_rate": 66.7,
"tournaments_played": 3,
"tournaments_won": 0,
"tiebreaks_won": 0,
"tiebreaks_lost": 0,
"aces": 30,
"double_faults": 10,
"aces_per_match": 10.0,
"double_faults_per_match": 3.3,
"first_serve_pct": 73.1,
"first_serve_won_pct": 72.4,
"second_serve_won_pct": 56.2,
"break_points_saved_pct": 57.1,
"break_points_converted_pct": 57.1,
"winners_total": 0,
"unforced_errors_total": 0
},
"hardcourt_outdoor": {
"matches": 6,
"wins": 3,
"losses": 3,
"win_rate": 50.0,
"tournaments_played": 6,
"tournaments_won": 0,
"tiebreaks_won": 1,
"tiebreaks_lost": 3,
"aces": 60,
"double_faults": 29,
"aces_per_match": 10.0,
"double_faults_per_match": 4.8,
"first_serve_pct": 70.5,
"first_serve_won_pct": 71.7,
"second_serve_won_pct": 58.1,
"break_points_saved_pct": 53.8,
"break_points_converted_pct": 37.5,
"winners_total": 78,
"unforced_errors_total": 72
},
"red_clay": {
"matches": 3,
"wins": 1,
"losses": 2,
"win_rate": 33.3,
"tournaments_played": 9,
"tournaments_won": 0,
"tiebreaks_won": 0,
"tiebreaks_lost": 0,
"aces": 12,
"double_faults": 11,
"aces_per_match": 4.0,
"double_faults_per_match": 3.7,
"first_serve_pct": 69.2,
"first_serve_won_pct": 67.5,
"second_serve_won_pct": 54.4,
"break_points_saved_pct": 62.5,
"break_points_converted_pct": 25.0,
"winners_total": 4,
"unforced_errors_total": 3
}
},
"totals": {
"matches": 12,
"wins": 6,
"tournaments_played": 18,
"tournaments_won": 0,
"aces": 102,
"double_faults": 50,
"win_rate": 50.0,
"losses": 6
}
}
],
"data_generated_at": "2026-01-30 08:57:05 UTC"
}