[
  {
    "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": "Reported 18x19 pro stock (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 305S",
    "headSizeIn": 98,
    "weightOz": 10.8,
    "weightBasis": "retail_unstrung",
    "weightSource": {
      "publisher": "Tecnifibre",
      "url": "https://www.tecnifibre.com/en/products/t-fight-305s",
      "accessedDate": "2026-10-03",
      "grams": 305
    },
    "stringPattern": "18x19",
    "lastVerifiedDate": "2026-10-03",
    "source": "tour",
    "notes": "Tecnifibre’s player page (https://www.tecnifibre.com/en/pages/players/daniil-medvedev, checked 2026-10-03) lists the T-FIGHT 305S among his favorite products. Head size (630 cm² / 98 in²), 305 g unstrung weight and 18x19 pattern are Tecnifibre’s retail specification for that model, not measurements of his personal frame. Replaces the earlier “T-Fight 305” label and its 16x19 pattern, which the current 305S specification does not support.",
    "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": "EZONE 100",
    "headSizeIn": 100,
    "weightOz": 10.6,
    "weightBasis": "retail_unstrung",
    "weightSource": {
      "publisher": "Merchant of Tennis",
      "url": "https://www.merchantoftennis.com/products/yonex-ezone-100-8th-gen-espresso-brown",
      "accessedDate": "2026-10-03",
      "grams": 300
    },
    "stringPattern": "16x19",
    "lastVerifiedDate": "2026-10-03",
    "source": "tour",
    "notes": "Yonex’s athlete kit (https://us.yonex.com/pages/athlete/casper-ruud, checked 2026-10-03) lists the EZONE 100 and adds that Yonex professionals may use customized racquets with different specifications. Head size and 16x19 pattern are from Yonex’s EZONE 100 product page (https://us.yonex.com/products/ezone-100). Weight is the retail unstrung specification (300 g) from a retailer listing because the Yonex page states none; it is not his personal frame mass. Replaces the earlier VCORE 98 / 11.6 oz record, whose source was not established.",
    "affiliateURL": "https://courtsidetennis.com/products/yonex-ezone-100-2025-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": "retail_unstrung",
    "weightSource": {
      "publisher": "Tecnifibre",
      "url": "https://b2b.tecnifibre.com/en/p/14FI300S5.html",
      "accessedDate": "2026-09-12",
      "grams": 298
    },
    "stringPattern": "16x19",
    "lastVerifiedDate": "2026-09-12",
    "source": "tour",
    "notes": "Tecnifibre’s current athlete page lists T-Fight 300S. Head size, pattern and 10.5 oz (298 g) mass are retail model context, not personal-frame measurements. The B2B specification table lists 298 g unstrung, while its description and the current consumer product page list 300 g. The separate 2026 T-Fight 300S I.G. retail listing also says 300 g; Tecnifibre describes its use from the European clay swing through Roland Garros; it does not establish use after Paris. These retail masses are not averaged. Current personal mass, balance, swingweight and customization remain unverified. Tempo 298 belongs to the previous signature era. Current Racket Fit lists T-Fight 300 rather than 300S. The affiliate is the retail 2025 T-Fight 300S, currently shown sold out; it is not an exact personal frame.",
    "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 100",
    "headSizeIn": 100,
    "weightOz": 10.6,
    "weightBasis": "retail_unstrung",
    "weightSource": {
      "publisher": "Tennis Warehouse Europe",
      "url": "https://www.tenniswarehouse-europe.com/Yonex_VCORE_100_Ruby_Red_300g_Racket/descpage-YVC106.html",
      "accessedDate": "2026-10-03",
      "grams": 300
    },
    "stringPattern": "16x19",
    "lastVerifiedDate": "2026-10-03",
    "source": "tour",
    "notes": "Yonex’s athlete kit (https://us.yonex.com/pages/athlete/elena-rybakina, checked 2026-10-03) lists the VCORE 100. Head size and 16x19 pattern are from the Yonex product page the kit links (https://us.yonex.com/products/08vcore-100). Weight is the retail unstrung specification (300 g) from a retailer listing because the Yonex page states none; it is not her personal frame mass. Replaces the earlier VCORE 98 / 11.3 oz record, whose source was not established.",
    "affiliateURL": "https://courtsidetennis.com/products/yonex-vcore-100-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": "Yonex",
    "racquetModel": "EZONE 98",
    "headSizeIn": 98,
    "weightOz": 10.8,
    "weightBasis": "retail_unstrung",
    "weightSource": {
      "publisher": "Merchant of Tennis",
      "url": "https://www.merchantoftennis.com/products/yonex-ezone-98-8th-gen-blast-blue",
      "accessedDate": "2026-10-03",
      "grams": 305
    },
    "stringPattern": "16x19",
    "lastVerifiedDate": "2026-10-03",
    "source": "tour",
    "notes": "Yonex’s athlete kit (https://us.yonex.com/pages/athlete/madison-keys, checked 2026-10-03) lists the EZONE 98 and says she “quickly adapted after switching to a Yonex racquet”. Head size and 16x19 pattern are from Yonex’s EZONE 98 product page (https://us.yonex.com/products/ezone-98). Weight is the retail unstrung specification (305 g) from a retailer listing because the Yonex page states none; it is not her personal frame mass. Replaces the earlier Wilson Blade 98 v9 record, an association that predates the switch.",
    "affiliateURL": "https://courtsidetennis.com/products/yonex-ezone-98-2025-tennis-racquet"
  },
  {
    "id": "l1000001-0001-0001-0001-000000000001",
    "playerName": "Roger Federer",
    "playerCountry": "CH",
    "playerRanking": null,
    "tour": "Legend",
    "racquetBrand": "Wilson",
    "racquetModel": "Pro Staff RF97 Autograph",
    "headSizeIn": 97,
    "weightOz": 12.9,
    "weightBasis": "reported_pro_strung",
    "weightSource": {
      "publisher": "Lisa Sabino — FITP-hosted equipment thesis",
      "url": "https://www.fitp.it/media/FIT/Federtennis/ISF/Biblioteca_pubblica/Tecnica_e_Fisica_Attrezzi/Attrezzatura_dei_tennisti_professionisti.pdf",
      "accessedDate": "2026-09-07",
      "grams": 366
    },
    "stringPattern": "16x19",
    "lastVerifiedDate": "2026-09-07",
    "source": "official",
    "notes": "Historical: Wilson identifies the RF97 Autograph as Federer’s 2014–2022 professional racquet. Lisa Sabino’s FITP-hosted 2019/2020 equipment thesis reports a 2017 frame at approximately 366 g strung, corroborated by Tennisnerd. Specialist accounts describe a frame close to the retail RF97 platform with a heavier selected/personal match-ready specification; exact customization details vary. The modern Pro Staff 97 Classic is not the RF97. RF 01 is a later post-retirement collaboration, not his tour frame. No current retail product is represented here as his exact competitive racquet.",
    "affiliateURL": null
  },
  {
    "id": "l1000001-0001-0001-0001-000000000002",
    "playerName": "Rafael Nadal",
    "playerCountry": "ES",
    "playerRanking": null,
    "tour": "Legend",
    "racquetBrand": "Babolat",
    "racquetModel": "AeroPro Drive Original (Pure Aero Rafa lineage)",
    "headSizeIn": 100,
    "weightOz": 12.0,
    "weightBasis": "reported_pro_strung",
    "weightSource": {
      "publisher": "Tennisnerd",
      "url": "https://www.tennisnerd.net/gear/racquets/pro-player-racquets/rafa-nadals-racquet-player-profile/66028",
      "accessedDate": "2026-09-07",
      "grams": 340
    },
    "stringPattern": "16x19",
    "lastVerifiedDate": "2026-09-07",
    "source": "public_verified",
    "notes": "Historical: Babolat associates Nadal with the Aero/Pure Aero family and developed the Pure Aero Rafa Origin as a close retail reproduction of his specifications. Specialist reporting identifies the long-term match platform as AeroPro Drive Original under later cosmetics. Tennisnerd reports about 340 g strung including dampener and overgrip, ~335 mm balance and ~370 swingweight; TennisCompanion reports 343 g strung / 335 mm / ~360 swingweight. These source-specific snapshots are not averaged. Retail Origin specifications do not prove that every Nadal match frame was a stock retail model. Nadal retired in November 2024.",
    "affiliateURL": null
  },
  {
    "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
  }
]
