[
  {
    "id": "a1000001-0001-0001-0001-000000000001",
    "playerName": "Carlos Alcaraz",
    "playerCountry": "ES",
    "playerRanking": 2,
    "tour": "ATP",
    "racquetBrand": "Babolat",
    "racquetModel": "Pure Aero 98",
    "headSizeIn": 98,
    "weightOz": 10.8,
    "weightBasis": "reported_pro_unstrung",
    "weightSource": {
      "publisher": "Racket Fit",
      "url": "https://www.racketfit.app/pros",
      "accessedDate": "2026-09-07",
      "grams": 305
    },
    "stringPattern": "16x20",
    "lastVerifiedDate": "2026-09-07",
    "source": "tour",
    "notes": "Babolat identifies the Pure Aero 98 family; the 16x20 pattern is manufacturer model context, not a measured personal specification. Racket Fit reports a 2023 stock frame or Pure Aero VS layup. Exact pro customization is unconfirmed. Weight is a reported pro unstrung snapshot: Racket Fit lists 305 g, rounded to 10.8 oz. Its approximately 330 g strung report is a separate quantity. Current retail Gen9 is also 10.8 oz / 305 g unstrung, but that agreement does not prove an identical pro frame. The affiliate destination is the retail 2026 model. Sources checked 2026-09-07: https://www.babolat.com/us/pure-aero-98-gen9-unstrung/101567.html and https://www.racketfit.app/pros",
    "affiliateURL": "https://courtsidetennis.com/products/babolat-pure-aero-98-2026-tennis-racquet"
  },
  {
    "id": "a1000001-0001-0001-0001-000000000002",
    "playerName": "Jannik Sinner",
    "playerCountry": "IT",
    "playerRanking": 1,
    "tour": "ATP",
    "racquetBrand": "Head",
    "racquetModel": "TGT 301.4 (Speed family)",
    "headSizeIn": 100,
    "weightOz": 10.7,
    "weightBasis": "reported_pro_unstrung",
    "weightSource": {
      "publisher": "Racket Fit",
      "url": "https://www.racketfit.app/pros",
      "accessedDate": "2026-09-07",
      "grams": 302
    },
    "stringPattern": "16x19",
    "lastVerifiedDate": "2026-09-07",
    "source": "tour",
    "notes": "HEAD officially associates Sinner with the Speed family. Racket Fit and Tennisnerd report a customized TGT 301.4 pro-stock frame; this is specialist reporting, not a HEAD-confirmed consumer model. Tennisnerd relates it to the older Graphene Touch Speed MP platform and reports 302 g unstrung, matching Racket Fit. The Tennis Insider match-used equipment report and The Pandr also report 100 sq in and 16x19. Current retail Speed Pro and Speed MP models are context only: numerical similarity does not establish identical layup or customization. These are reported snapshots, not permanent personal specifications.",
    "affiliateURL": null
  },
  {
    "id": "a1000001-0001-0001-0001-000000000003",
    "playerName": "Alexander Zverev",
    "playerCountry": "DE",
    "playerRanking": 3,
    "tour": "ATP",
    "racquetBrand": "Head",
    "racquetModel": "Gravity Pro",
    "headSizeIn": 100,
    "weightOz": 11.3,
    "weightBasis": "unknown",
    "weightSource": null,
    "stringPattern": "18x20",
    "lastVerifiedDate": "2026-01-22",
    "source": "tour",
    "notes": null,
    "affiliateURL": "https://courtsidetennis.com/products/head-gravity-pro-2025-tennis-racquet"
  },
  {
    "id": "a1000001-0001-0001-0001-000000000004",
    "playerName": "Novak Djokovic",
    "playerCountry": "RS",
    "playerRanking": 4,
    "tour": "ATP",
    "racquetBrand": "Head",
    "racquetModel": "PT346.1 (Speed Legend family)",
    "headSizeIn": 95,
    "weightOz": 12.5,
    "weightBasis": "reported_pro_strung",
    "weightSource": {
      "publisher": "Racket Fit",
      "url": "https://www.racketfit.app/pros",
      "accessedDate": "2026-09-07",
      "grams": 353
    },
    "stringPattern": "18x19",
    "lastVerifiedDate": "2026-09-07",
    "source": "tour",
    "notes": "HEAD officially associates Djokovic with Speed Legend. PT346.1 is a specialist-reported current identifier from TennisCompanion, not official HEAD consumer naming; Racket Fit describes the current mold as PT113B-derived. Tennisnerd places the old PT113B before roughly 2018 and documents the current 95 sq in / 18x19 geometry. The 353 g mass is a reported STRUNG snapshot, not an unstrung specification. Exact layup and production details are not established by retail specs. Current retail Speed PRO Legend specifications are context only.",
    "affiliateURL": null
  },
  {
    "id": "a1000001-0001-0001-0001-000000000005",
    "playerName": "Daniil Medvedev",
    "playerCountry": "RU",
    "playerRanking": 9,
    "tour": "ATP",
    "racquetBrand": "Tecnifibre",
    "racquetModel": "T-Fight 305",
    "headSizeIn": 98,
    "weightOz": 10.8,
    "weightBasis": "unknown",
    "weightSource": null,
    "stringPattern": "16x19",
    "lastVerifiedDate": "2026-01-22",
    "source": "tour",
    "notes": null,
    "affiliateURL": "https://courtsidetennis.com/products/tecnifibre-305s-2025-tennis-racquet"
  },
  {
    "id": "a1000001-0001-0001-0001-000000000006",
    "playerName": "Holger Rune",
    "playerCountry": "DK",
    "playerRanking": 40,
    "tour": "ATP",
    "racquetBrand": "Wilson",
    "racquetModel": "Blade 98 v9",
    "headSizeIn": 98,
    "weightOz": 11.3,
    "weightBasis": "unknown",
    "weightSource": null,
    "stringPattern": "16x19",
    "lastVerifiedDate": "2026-01-22",
    "source": "tour",
    "notes": null,
    "affiliateURL": "https://courtsidetennis.com/products/wilson-blade-98-16x19-v9-tennis-racquet"
  },
  {
    "id": "a1000001-0001-0001-0001-000000000007",
    "playerName": "Casper Ruud",
    "playerCountry": "NO",
    "playerRanking": 25,
    "tour": "ATP",
    "racquetBrand": "Yonex",
    "racquetModel": "VCORE 98",
    "headSizeIn": 98,
    "weightOz": 11.6,
    "weightBasis": "unknown",
    "weightSource": null,
    "stringPattern": "16x19",
    "lastVerifiedDate": "2026-01-22",
    "source": "tour",
    "notes": null,
    "affiliateURL": "https://courtsidetennis.com/products/yonex-vcore-98-2026-tennis-racquet"
  },
  {
    "id": "a1000001-0001-0001-0001-000000000008",
    "playerName": "Taylor Fritz",
    "playerCountry": "US",
    "playerRanking": 7,
    "tour": "ATP",
    "racquetBrand": "Head",
    "racquetModel": "Extreme Pro",
    "headSizeIn": 100,
    "weightOz": 10.6,
    "weightBasis": "unknown",
    "weightSource": null,
    "stringPattern": "16x19",
    "lastVerifiedDate": "2026-01-22",
    "source": "tour",
    "notes": null,
    "affiliateURL": "https://courtsidetennis.com/products/head-extreme-pro-2024-tennis-racquet"
  },
  {
    "id": "a1000001-0001-0001-0001-000000000009",
    "playerName": "Alex de Minaur",
    "playerCountry": "AU",
    "playerRanking": 8,
    "tour": "ATP",
    "racquetBrand": "Wilson",
    "racquetModel": "Ultra 99 Pro",
    "headSizeIn": 98,
    "weightOz": 11.5,
    "weightBasis": "unknown",
    "weightSource": null,
    "stringPattern": "16x19",
    "lastVerifiedDate": "2026-01-22",
    "source": "tour",
    "notes": null,
    "affiliateURL": "https://courtsidetennis.com/products/wilson-ultra-99-pro-2025-tennis-racquet"
  },
  {
    "id": "a1000001-0001-0001-0001-000000000010",
    "playerName": "Stefanos Tsitsipas",
    "playerCountry": "GR",
    "playerRanking": 75,
    "tour": "ATP",
    "racquetBrand": "Wilson",
    "racquetModel": "Blade 98 v9",
    "headSizeIn": 98,
    "weightOz": 11.3,
    "weightBasis": "unknown",
    "weightSource": null,
    "stringPattern": "16x19",
    "lastVerifiedDate": "2026-01-22",
    "source": "tour",
    "notes": null,
    "affiliateURL": "https://courtsidetennis.com/products/wilson-blade-98-16x19-v9-tennis-racquet"
  },
  {
    "id": "a1000001-0001-0001-0001-000000000011",
    "playerName": "Andrey Rublev",
    "playerCountry": "RU",
    "playerRanking": 14,
    "tour": "ATP",
    "racquetBrand": "Head",
    "racquetModel": "Gravity Pro",
    "headSizeIn": 100,
    "weightOz": 11.3,
    "weightBasis": "unknown",
    "weightSource": null,
    "stringPattern": "18x20",
    "lastVerifiedDate": "2026-01-22",
    "source": "tour",
    "notes": null,
    "affiliateURL": "https://courtsidetennis.com/products/head-gravity-pro-2025-tennis-racquet"
  },
  {
    "id": "w1000001-0001-0001-0001-000000000001",
    "playerName": "Iga Swiatek",
    "playerCountry": "PL",
    "playerRanking": 3,
    "tour": "WTA",
    "racquetBrand": "Tecnifibre",
    "racquetModel": "T-Fight 300S",
    "headSizeIn": 98,
    "weightOz": 10.5,
    "weightBasis": "unknown",
    "weightSource": null,
    "stringPattern": "16x19",
    "lastVerifiedDate": "2026-01-22",
    "source": "tour",
    "notes": null,
    "affiliateURL": "https://courtsidetennis.com/products/tecnifibre-tfight-300s-2025-tennis-racquet"
  },
  {
    "id": "w1000001-0001-0001-0001-000000000002",
    "playerName": "Aryna Sabalenka",
    "playerCountry": "BY",
    "playerRanking": 1,
    "tour": "WTA",
    "racquetBrand": "Head",
    "racquetModel": "Boom Pro",
    "headSizeIn": 98,
    "weightOz": 11.1,
    "weightBasis": "unknown",
    "weightSource": null,
    "stringPattern": "16x19",
    "lastVerifiedDate": "2026-01-22",
    "source": "tour",
    "notes": null,
    "affiliateURL": "https://courtsidetennis.com/products/head-boom-pro-2026-tennis-racquet"
  },
  {
    "id": "w1000001-0001-0001-0001-000000000003",
    "playerName": "Coco Gauff",
    "playerCountry": "US",
    "playerRanking": 4,
    "tour": "WTA",
    "racquetBrand": "Yonex",
    "racquetModel": "EZONE 98",
    "headSizeIn": 98,
    "weightOz": 10.8,
    "weightBasis": "unknown",
    "weightSource": null,
    "stringPattern": "16x19",
    "lastVerifiedDate": "2026-01-22",
    "source": "tour",
    "notes": null,
    "affiliateURL": "https://courtsidetennis.com/products/yonex-ezone-98-2025-tennis-racquet"
  },
  {
    "id": "w1000001-0001-0001-0001-000000000004",
    "playerName": "Elena Rybakina",
    "playerCountry": "KZ",
    "playerRanking": 2,
    "tour": "WTA",
    "racquetBrand": "Yonex",
    "racquetModel": "VCORE 98",
    "headSizeIn": 98,
    "weightOz": 11.3,
    "weightBasis": "unknown",
    "weightSource": null,
    "stringPattern": "16x19",
    "lastVerifiedDate": "2026-01-22",
    "source": "tour",
    "notes": null,
    "affiliateURL": "https://courtsidetennis.com/products/yonex-vcore-98-2026-tennis-racquet"
  },
  {
    "id": "w1000001-0001-0001-0001-000000000005",
    "playerName": "Jessica Pegula",
    "playerCountry": "US",
    "playerRanking": 5,
    "tour": "WTA",
    "racquetBrand": "Wilson",
    "racquetModel": "Ultra 100",
    "headSizeIn": 100,
    "weightOz": 11.0,
    "weightBasis": "unknown",
    "weightSource": null,
    "stringPattern": "16x19",
    "lastVerifiedDate": "2026-01-22",
    "source": "tour",
    "notes": null,
    "affiliateURL": "https://courtsidetennis.com/products/wilson-ultra-100-v5-tennis-racquet"
  },
  {
    "id": "w1000001-0001-0001-0001-000000000006",
    "playerName": "Zheng Qinwen",
    "playerCountry": "CN",
    "playerRanking": 32,
    "tour": "WTA",
    "racquetBrand": "Babolat",
    "racquetModel": "Pure Drive",
    "headSizeIn": 100,
    "weightOz": 10.6,
    "weightBasis": "unknown",
    "weightSource": null,
    "stringPattern": "16x19",
    "lastVerifiedDate": "2026-01-22",
    "source": "tour",
    "notes": null,
    "affiliateURL": "https://courtsidetennis.com/products/babolat-pure-drive-2025-tennis-racquet"
  },
  {
    "id": "w1000001-0001-0001-0001-000000000007",
    "playerName": "Ons Jabeur",
    "playerCountry": "TN",
    "playerRanking": 7,
    "tour": "WTA",
    "racquetBrand": "Wilson",
    "racquetModel": "Blade 98 v9",
    "headSizeIn": 98,
    "weightOz": 11.3,
    "weightBasis": "unknown",
    "weightSource": null,
    "stringPattern": "16x19",
    "lastVerifiedDate": "2026-01-22",
    "source": "tour",
    "notes": null,
    "affiliateURL": "https://courtsidetennis.com/products/wilson-blade-98-16x19-v9-tennis-racquet"
  },
  {
    "id": "w1000001-0001-0001-0001-000000000008",
    "playerName": "Maria Sakkari",
    "playerCountry": "GR",
    "playerRanking": 47,
    "tour": "WTA",
    "racquetBrand": "Yonex",
    "racquetModel": "VCORE 100",
    "headSizeIn": 100,
    "weightOz": 10.6,
    "weightBasis": "unknown",
    "weightSource": null,
    "stringPattern": "16x19",
    "lastVerifiedDate": "2026-01-22",
    "source": "tour",
    "notes": null,
    "affiliateURL": "https://courtsidetennis.com/products/yonex-vcore-100-2026-tennis-racquet"
  },
  {
    "id": "w1000001-0001-0001-0001-000000000009",
    "playerName": "Marketa Vondrousova",
    "playerCountry": "CZ",
    "playerRanking": 9,
    "tour": "WTA",
    "racquetBrand": "Head",
    "racquetModel": "Speed MP",
    "headSizeIn": 100,
    "weightOz": 10.6,
    "weightBasis": "unknown",
    "weightSource": null,
    "stringPattern": "16x19",
    "lastVerifiedDate": "2026-01-22",
    "source": "tour",
    "notes": null,
    "affiliateURL": "https://courtsidetennis.com/products/head-speed-mp-2026-tennis-racquet"
  },
  {
    "id": "w1000001-0001-0001-0001-000000000010",
    "playerName": "Madison Keys",
    "playerCountry": "US",
    "playerRanking": 19,
    "tour": "WTA",
    "racquetBrand": "Wilson",
    "racquetModel": "Blade 98 v9",
    "headSizeIn": 98,
    "weightOz": 11.3,
    "weightBasis": "unknown",
    "weightSource": null,
    "stringPattern": "16x19",
    "lastVerifiedDate": "2026-01-22",
    "source": "tour",
    "notes": null,
    "affiliateURL": "https://courtsidetennis.com/products/wilson-blade-98-16x19-v9-tennis-racquet"
  },
  {
    "id": "l1000001-0001-0001-0001-000000000001",
    "playerName": "Roger Federer",
    "playerCountry": "CH",
    "playerRanking": null,
    "tour": "Legend",
    "racquetBrand": "Wilson",
    "racquetModel": "Pro Staff RF97",
    "headSizeIn": 97,
    "weightOz": 12.6,
    "weightBasis": "unknown",
    "weightSource": null,
    "stringPattern": "16x19",
    "lastVerifiedDate": "2026-01-22",
    "source": "official",
    "notes": "Custom weight and balance",
    "affiliateURL": "https://courtsidetennis.com/products/wilson-pro-staff-97-classic-tennis-racquet"
  },
  {
    "id": "l1000001-0001-0001-0001-000000000002",
    "playerName": "Rafael Nadal",
    "playerCountry": "ES",
    "playerRanking": null,
    "tour": "Legend",
    "racquetBrand": "Babolat",
    "racquetModel": "Pure Aero",
    "headSizeIn": 100,
    "weightOz": 10.6,
    "weightBasis": "unknown",
    "weightSource": null,
    "stringPattern": "16x19",
    "lastVerifiedDate": "2026-01-22",
    "source": "official",
    "notes": "Signature model",
    "affiliateURL": "https://courtsidetennis.com/products/babolat-pure-aero-rafa-origin-tennis-racquet"
  },
  {
    "id": "l1000001-0001-0001-0001-000000000003",
    "playerName": "Serena Williams",
    "playerCountry": "US",
    "playerRanking": null,
    "tour": "Legend",
    "racquetBrand": "Wilson",
    "racquetModel": "Blade SW104",
    "headSizeIn": 104,
    "weightOz": 10.8,
    "weightBasis": "unknown",
    "weightSource": null,
    "stringPattern": "18x19",
    "lastVerifiedDate": "2026-01-22",
    "source": "official",
    "notes": "Signature model",
    "affiliateURL": "https://courtsidetennis.com/products/blade-104-v-tennis-racquet"
  },
  {
    "id": "l1000001-0001-0001-0001-000000000004",
    "playerName": "Pete Sampras",
    "playerCountry": "US",
    "playerRanking": null,
    "tour": "Legend",
    "racquetBrand": "Wilson",
    "racquetModel": "Pro Staff 85",
    "headSizeIn": 85,
    "weightOz": 12.5,
    "weightBasis": "unknown",
    "weightSource": null,
    "stringPattern": "16x18",
    "lastVerifiedDate": "2026-01-22",
    "source": "historical",
    "notes": "Classic player's frame",
    "affiliateURL": null
  },
  {
    "id": "l1000001-0001-0001-0001-000000000005",
    "playerName": "Andre Agassi",
    "playerCountry": "US",
    "playerRanking": null,
    "tour": "Legend",
    "racquetBrand": "Head",
    "racquetModel": "Radical Pro",
    "headSizeIn": 98,
    "weightOz": 11.1,
    "weightBasis": "unknown",
    "weightSource": null,
    "stringPattern": "16x19",
    "lastVerifiedDate": "2026-01-22",
    "source": "historical",
    "notes": null,
    "affiliateURL": "https://courtsidetennis.com/products/head-radical-pro-2025-tennis-racquet"
  },
  {
    "id": "l1000001-0001-0001-0001-000000000006",
    "playerName": "Steffi Graf",
    "playerCountry": "DE",
    "playerRanking": null,
    "tour": "Legend",
    "racquetBrand": "Wilson",
    "racquetModel": "Pro Staff 90",
    "headSizeIn": 90,
    "weightOz": 12.0,
    "weightBasis": "unknown",
    "weightSource": null,
    "stringPattern": "16x18",
    "lastVerifiedDate": "2026-01-22",
    "source": "historical",
    "notes": null,
    "affiliateURL": null
  },
  {
    "id": "l1000001-0001-0001-0001-000000000007",
    "playerName": "Martina Navratilova",
    "playerCountry": "US",
    "playerRanking": null,
    "tour": "Legend",
    "racquetBrand": "Yonex",
    "racquetModel": "RQ-180",
    "headSizeIn": 95,
    "weightOz": 11.0,
    "weightBasis": "unknown",
    "weightSource": null,
    "stringPattern": "16x18",
    "lastVerifiedDate": "2026-01-22",
    "source": "historical",
    "notes": "Mid-career racquet",
    "affiliateURL": null
  },
  {
    "id": "l1000001-0001-0001-0001-000000000008",
    "playerName": "John McEnroe",
    "playerCountry": "US",
    "playerRanking": null,
    "tour": "Legend",
    "racquetBrand": "Dunlop",
    "racquetModel": "Max 200G",
    "headSizeIn": 85,
    "weightOz": 12.3,
    "weightBasis": "unknown",
    "weightSource": null,
    "stringPattern": "16x18",
    "lastVerifiedDate": "2026-01-22",
    "source": "historical",
    "notes": "Iconic wooden era transition",
    "affiliateURL": null
  }
]
