Player Data JSON

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

Otto Virtanen

Otto Virtanen

Finland ATP 126
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"
}