{
 "date": "2026-09-15",
 "generated": "2026-09-15T15:44:04+00:00",
 "season_ends_in_days": 107,
 "market_open": true,
 "days_to_market_open": 320,
 "counts": {
  "free_agents": 130,
  "leaving": 26,
  "retiring": 12,
  "riders": 528,
  "reported": 28,
  "evidence_records": 102
 },
 "free_agents_top": [
  {
   "slug": "felix-gall",
   "name": "Felix Gall",
   "team": "Decathlon CMA CGM",
   "nat": "AT",
   "age": 28,
   "salary": 1855000.0,
   "basis": "Model",
   "market_value": 2208000,
   "mv_ratio": 1.19,
   "until": 2026,
   "pts": 1342,
   "next_team": null
  },
  {
   "slug": "jordi-meeus",
   "name": "Jordi Meeus",
   "team": "Red Bull-BORA-hansgrohe",
   "nat": "BE",
   "age": 28,
   "salary": 1299000.0,
   "basis": "Model",
   "market_value": 1327000,
   "mv_ratio": 1.02,
   "until": 2026,
   "pts": 1067,
   "next_team": null
  },
  {
   "slug": "egan-bernal",
   "name": "Egan Bernal",
   "team": "Netcompany INEOS",
   "nat": "CO",
   "age": 29,
   "salary": 2500000.0,
   "basis": "Reported",
   "market_value": 1391000,
   "mv_ratio": 0.56,
   "until": 2026,
   "pts": 865,
   "next_team": null
  },
  {
   "slug": "natnael-tesfatsion",
   "name": "Natnael Tesfatsion",
   "team": "Movistar Team",
   "nat": "ER",
   "age": 27,
   "salary": 782000.0,
   "basis": "Model",
   "market_value": 955000,
   "mv_ratio": 1.22,
   "until": 2026,
   "pts": 788,
   "next_team": null
  },
  {
   "slug": "harold-tejada",
   "name": "Harold Tejada",
   "team": "XDS Astana",
   "nat": "CO",
   "age": 29,
   "salary": 147000.0,
   "basis": "Model",
   "market_value": 922000,
   "mv_ratio": 6.27,
   "until": 2026,
   "pts": 738,
   "next_team": null
  },
  {
   "slug": "primoz-roglic",
   "name": "Primož Roglič",
   "team": "Red Bull-BORA-hansgrohe",
   "nat": "SI",
   "age": 36,
   "salary": 4000000.0,
   "basis": "Reported",
   "market_value": 2359000,
   "mv_ratio": 0.59,
   "until": 2026,
   "pts": 633,
   "next_team": null
  },
  {
   "slug": "igor-arrieta",
   "name": "Igor Arrieta",
   "team": "UAE Team Emirates-XRG",
   "nat": "ES",
   "age": 23,
   "salary": 251000.0,
   "basis": "Model",
   "market_value": 1136000,
   "mv_ratio": 4.53,
   "until": 2026,
   "pts": 561,
   "next_team": null
  },
  {
   "slug": "corbin-strong",
   "name": "Corbin Strong",
   "team": "NSN Cycling Team",
   "nat": "NZ",
   "age": 26,
   "salary": 991000.0,
   "basis": "Model",
   "market_value": 1324000,
   "mv_ratio": 1.34,
   "until": 2026,
   "pts": 543,
   "next_team": null
  },
  {
   "slug": "afonso-eulalio",
   "name": "Afonso Eulálio",
   "team": "Bahrain Victorious",
   "nat": "PT",
   "age": 24,
   "salary": 221000.0,
   "basis": "Model",
   "market_value": 538000,
   "mv_ratio": 2.43,
   "until": 2026,
   "pts": 512,
   "next_team": null
  },
  {
   "slug": "riley-sheehan",
   "name": "Riley Sheehan",
   "team": "NSN Cycling Team",
   "nat": "US",
   "age": 26,
   "salary": 174000.0,
   "basis": "Model",
   "market_value": 438000,
   "mv_ratio": 2.52,
   "until": 2026,
   "pts": 488,
   "next_team": null
  }
 ],
 "leaving_top": [
  {
   "slug": "mauro-schmid",
   "name": "Mauro Schmid",
   "team": "Jayco AlUla",
   "nat": "CH",
   "age": 26,
   "salary": 1060000.0,
   "basis": "Model",
   "market_value": 1468000,
   "mv_ratio": 1.38,
   "until": 2026,
   "pts": 1439,
   "next_team": "Pinarello Q36.5 Pro Cycling Team"
  },
  {
   "slug": "arnaud-de-lie",
   "name": "Arnaud de Lie",
   "team": "Lotto Intermarché",
   "nat": "BE",
   "age": 24,
   "salary": 2344000.0,
   "basis": "Model",
   "market_value": 1699000,
   "mv_ratio": 0.72,
   "until": 2026,
   "pts": 915,
   "next_team": "Tudor Pro Cycling Team"
  },
  {
   "slug": "pavel-bittner",
   "name": "Pavel Bittner",
   "team": "Picnic PostNL",
   "nat": "CZ",
   "age": 23,
   "salary": 701000.0,
   "basis": "Model",
   "market_value": 1119000,
   "mv_ratio": 1.6,
   "until": 2026,
   "pts": 608,
   "next_team": "Pinarello Q36.5 Pro Cycling Team"
  },
  {
   "slug": "santiago-buitrago",
   "name": "Santiago Buitrago",
   "team": "Bahrain Victorious",
   "nat": "CO",
   "age": 26,
   "salary": 1511000.0,
   "basis": "Model",
   "market_value": 1411000,
   "mv_ratio": 0.93,
   "until": 2026,
   "pts": 557,
   "next_team": "NSN Cycling Team"
  },
  {
   "slug": "andrew-august",
   "name": "Andrew August",
   "team": "Netcompany INEOS",
   "nat": "US",
   "age": 20,
   "salary": 223000.0,
   "basis": "Model",
   "market_value": 309000,
   "mv_ratio": 1.39,
   "until": 2026,
   "pts": 433,
   "next_team": "Pinarello Q36.5 Pro Cycling Team"
  },
  {
   "slug": "lennert-van-eetvelt",
   "name": "Lennert van Eetvelt",
   "team": "Lotto Intermarché",
   "nat": "BE",
   "age": 25,
   "salary": 621000.0,
   "basis": "Model",
   "market_value": 1053000,
   "mv_ratio": 1.7,
   "until": 2026,
   "pts": 403,
   "next_team": "NSN Cycling Team"
  },
  {
   "slug": "cristian-rodriguez",
   "name": "Cristián Rodríguez",
   "team": "XDS Astana",
   "nat": "ES",
   "age": 31,
   "salary": 701000.0,
   "basis": "Model",
   "market_value": 904000,
   "mv_ratio": 1.29,
   "until": 2026,
   "pts": 368,
   "next_team": "Bahrain - Victorious"
  },
  {
   "slug": "georg-zimmermann",
   "name": "Georg Zimmermann",
   "team": "Lotto Intermarché",
   "nat": "DE",
   "age": 28,
   "salary": 233000.0,
   "basis": "Model",
   "market_value": 438000,
   "mv_ratio": 1.88,
   "until": 2026,
   "pts": 353,
   "next_team": "Lidl - Trek"
  }
 ],
 "retiring_top": [
  {
   "slug": "bauke-mollema",
   "name": "Bauke Mollema",
   "team": "Lidl-Trek",
   "nat": "NL",
   "age": 39,
   "salary": 382000.0,
   "basis": "Model",
   "market_value": 339000,
   "mv_ratio": 0.89,
   "until": 2026,
   "pts": 191,
   "next_team": null
  },
  {
   "slug": "nairo-quintana",
   "name": "Nairo Quintana",
   "team": "Movistar Team",
   "nat": "CO",
   "age": 36,
   "salary": 342000.0,
   "basis": "Model",
   "market_value": 430000,
   "mv_ratio": 1.26,
   "until": 2026,
   "pts": 292,
   "next_team": null
  },
  {
   "slug": "pello-bilbao",
   "name": "Pello Bilbao",
   "team": "Bahrain Victorious",
   "nat": "ES",
   "age": 36,
   "salary": 1200000.0,
   "basis": "Reported",
   "market_value": 843000,
   "mv_ratio": 0.7,
   "until": 2026,
   "pts": 617,
   "next_team": null
  },
  {
   "slug": "damiano-caruso",
   "name": "Damiano Caruso",
   "team": "Bahrain Victorious",
   "nat": "IT",
   "age": 38,
   "salary": 542000.0,
   "basis": "Model",
   "market_value": 458000,
   "mv_ratio": 0.85,
   "until": 2026,
   "pts": 303,
   "next_team": null
  },
  {
   "slug": "alexey-lutsenko",
   "name": "Alexey Lutsenko",
   "team": "NSN Cycling Team",
   "nat": "KZ",
   "age": 34,
   "salary": 772000.0,
   "basis": "Model",
   "market_value": 603000,
   "mv_ratio": 0.78,
   "until": 2026,
   "pts": 92,
   "next_team": null
  },
  {
   "slug": "steven-kruijswijk",
   "name": "Steven Kruijswijk",
   "team": "Visma | Lease a Bike",
   "nat": "NL",
   "age": 39,
   "salary": 198000.0,
   "basis": "Model",
   "market_value": 210000,
   "mv_ratio": 1.06,
   "until": 2026,
   "pts": 30,
   "next_team": null
  }
 ],
 "recent_deals": [
  {
   "slug": "christophe-laporte",
   "name": "Christophe Laporte",
   "team": "Visma | Lease a Bike",
   "nat": "FR",
   "age": 33,
   "salary": 2796000.0,
   "basis": "Model",
   "market_value": 1309000,
   "mv_ratio": 0.47,
   "until": 2029,
   "pts": 942,
   "next_team": null,
   "announced": "2026-09",
   "type": "extension",
   "url": "https://cyclingflash.com/news/christophe-laporte-signs-three-more-years-with-visma-lease-a-bike--he-makes-a-big-difference"
  },
  {
   "slug": "victor-campenaerts",
   "name": "Victor Campenaerts",
   "team": "Visma | Lease a Bike",
   "nat": "BE",
   "age": 34,
   "salary": 957000.0,
   "basis": "Model",
   "market_value": 574000,
   "mv_ratio": 0.6,
   "until": 2028,
   "pts": 145,
   "next_team": null,
   "announced": "2026-09",
   "type": "extension",
   "url": "https://sporza.be/nl/2026/09/05/visma-lease-a-bike-kondigt-in-ludiek-filmpje-aan-dat-victor-campenaerts-verlengt-tot-2028-ik-heb-je-een-bonus-geregeld~1788597547793/"
  },
  {
   "slug": "tim-rex",
   "name": "Tim Rex",
   "team": "Visma | Lease a Bike",
   "nat": "BE",
   "age": 22,
   "salary": 110000.0,
   "basis": "Model",
   "market_value": 130000,
   "mv_ratio": 1.18,
   "until": 2029,
   "pts": 70,
   "next_team": null,
   "announced": "2026-09",
   "type": "extension",
   "url": "https://cyclinguptodate.com/cycling/visma-lease-a-bike-extend-another-riders-contract-jonas-vingegaards-giro-domestique-rewarded-with-three-year-extension"
  },
  {
   "slug": "tadej-pogacar",
   "name": "Tadej Pogačar",
   "team": "UAE Team Emirates-XRG",
   "nat": "SI",
   "age": 27,
   "salary": 8200000.0,
   "basis": "Reported",
   "market_value": 6325000,
   "mv_ratio": 0.77,
   "until": 2032,
   "pts": 4881,
   "next_team": null,
   "announced": "2026-09",
   "type": "extension",
   "url": "https://www.uaeteamemirates.com/uae-team-emirates-xrg-announces-contract-extension-tadej-pogacar-2032/"
  },
  {
   "slug": "leo-bisiaux",
   "name": "Léo Bisiaux",
   "team": "Decathlon CMA CGM",
   "nat": "FR",
   "age": 21,
   "salary": 206000.0,
   "basis": "Model",
   "market_value": 296000,
   "mv_ratio": 1.44,
   "until": 2030,
   "pts": 406,
   "next_team": null,
   "announced": "2026-08",
   "type": "extension",
   "url": "https://www.cyclismactu.net/news-cyclisme-route-leo-bisiaux-prolonge-avec-formation-decathlon-cma-cgm-95575.html"
  },
  {
   "slug": "steffen-de-schuyteneer",
   "name": "Steffen de Schuyteneer",
   "team": "Lotto Intermarché",
   "nat": "BE",
   "age": 21,
   "salary": 237000.0,
   "basis": "Model",
   "market_value": 263000,
   "mv_ratio": 1.11,
   "until": 2029,
   "pts": 487,
   "next_team": null,
   "announced": "2026-08",
   "type": "extension",
   "url": "https://www.dhnet.be/sports/cyclisme/2026/08/20/le-jeune-belge-steffen-de-schuyteneer-prolonge-chez-lotto-intermarche-jusquen-2029-ORXW5EHJIZDCZATEEKTZQ5IM6U/"
  },
  {
   "slug": "edoardo-affini",
   "name": "Edoardo Affini",
   "team": "Visma | Lease a Bike",
   "nat": "IT",
   "age": 30,
   "salary": 727000.0,
   "basis": "Model",
   "market_value": 587000,
   "mv_ratio": 0.81,
   "until": 2029,
   "pts": 98,
   "next_team": null,
   "announced": "2026-08",
   "type": "extension",
   "url": "https://cyclingflash.com/news/edoardo-affini-races-at-least-three-more-years-for-visma-lease-a-bike"
  },
  {
   "slug": "fabio-jakobsen",
   "name": "Fabio Jakobsen",
   "team": "Visma | Lease a Bike",
   "nat": "NL",
   "age": 30,
   "salary": 485000.0,
   "basis": "Model",
   "market_value": 409000,
   "mv_ratio": 0.84,
   "until": 2027,
   "pts": 10,
   "next_team": null,
   "announced": "2026-08",
   "type": "new signing",
   "url": "https://www.cyclingnews.com/pro-cycling/transfers/visma-lease-a-bike-confirm-fabio-jakobsen-joins-team-with-immediate-effect-after-picnic-postnl-departure/"
  },
  {
   "slug": "bart-lemmen",
   "name": "Bart Lemmen",
   "team": "Visma | Lease a Bike",
   "nat": "NL",
   "age": 30,
   "salary": 403000.0,
   "basis": "Model",
   "market_value": 511000,
   "mv_ratio": 1.27,
   "until": 2029,
   "pts": 438,
   "next_team": null,
   "announced": "2026-08",
   "type": "extension",
   "url": "https://escapecollective.com/visma-extends-bart-lemmen-through-2029/"
  },
  {
   "slug": "isaac-del-toro",
   "name": "Isaac del Toro",
   "team": "UAE Team Emirates-XRG",
   "nat": "MX",
   "age": 22,
   "salary": 2000000.0,
   "basis": "Reported",
   "market_value": 6072000,
   "mv_ratio": 3.04,
   "until": 2031,
   "pts": 3200,
   "next_team": null,
   "announced": "2026-08",
   "type": "extension",
   "url": "https://escapecollective.com/del-toro-signs-extension-until-2031/"
  },
  {
   "slug": "guillermo-thomas-silva",
   "name": "Guillermo Thomas Silva",
   "team": "XDS Astana",
   "nat": "UY",
   "age": 24,
   "salary": 625000.0,
   "basis": "Model",
   "market_value": 1503000,
   "mv_ratio": 2.4,
   "until": 2029,
   "pts": 872,
   "next_team": null,
   "announced": "2026-08",
   "type": "extension",
   "url": "https://cyclingflash.com/news/xds-astana-rewards-former-pink-jersey-and-arctic-race-of-norway-winner-silva-with-contract-until-2029"
  },
  {
   "slug": "aurelien-paret-peintre",
   "name": "Aurélien Paret-Peintre",
   "team": "Decathlon CMA CGM",
   "nat": "FR",
   "age": 30,
   "salary": 1501000.0,
   "basis": "Model",
   "market_value": 725000,
   "mv_ratio": 0.48,
   "until": 2029,
   "pts": 150,
   "next_team": null,
   "announced": "2026-07",
   "type": "extension",
   "url": "https://sports.orange.fr/cyclisme/article/decathlon-cma-cgm-de-plus-vers-une-signature-a-paret-peintre-proche-de-prolonger-exclu-CNT000002qBVux.html"
  }
 ],
 "movers": [
  {
   "slug": "brandon-mcnulty",
   "name": "Brandon McNulty",
   "team": "UAE Team Emirates-XRG",
   "nat": "US",
   "age": 28,
   "salary": 1435000.0,
   "basis": "Model",
   "market_value": 2937000,
   "mv_ratio": 2.05,
   "until": 2030,
   "pts": 917,
   "next_team": null
  },
  {
   "slug": "nicolas-prodhomme",
   "name": "Nicolas Prodhomme",
   "team": "Decathlon CMA CGM",
   "nat": "FR",
   "age": 29,
   "salary": 391000.0,
   "basis": "Model",
   "market_value": 1168000,
   "mv_ratio": 2.99,
   "until": 2028,
   "pts": 262,
   "next_team": null
  },
  {
   "slug": "valentin-paret-peintre",
   "name": "Valentin Paret-Peintre",
   "team": "Soudal Quick-Step",
   "nat": "FR",
   "age": 25,
   "salary": 553000.0,
   "basis": "Model",
   "market_value": 933000,
   "mv_ratio": 1.69,
   "until": 2028,
   "pts": 502,
   "next_team": null
  },
  {
   "slug": "alberto-bettiol",
   "name": "Alberto Bettiol",
   "team": "XDS Astana",
   "nat": "IT",
   "age": 32,
   "salary": 693000.0,
   "basis": "Model",
   "market_value": 1135000,
   "mv_ratio": 1.64,
   "until": 2027,
   "pts": 388,
   "next_team": null
  },
  {
   "slug": "gleb-syritsa",
   "name": "Gleb Syritsa",
   "team": "XDS Astana",
   "nat": "RU",
   "age": 26,
   "salary": 224000.0,
   "basis": "Model",
   "market_value": 425000,
   "mv_ratio": 1.9,
   "until": 2026,
   "pts": 73,
   "next_team": null
  }
 ]
}