Kansas City Royals logo

Royals.

The nightly market record for Kansas City.

Mid-season · preview

Regular season is live. This page is a preview of the year-round offseason desk — the roster snapshot is real, but the move-tracking, futures-movement and projected-lineup sections are dormant until the season ends and those data sources wire up. The active surface today is the club desk.

01 / Roster

Royals batters · 34 on the books.

Total
34
batters in graph
With PA
15
2026 season
L/R/S
7/18/1
+8 unknown
Top xBA
273
Bobby Witt Jr.
BatterBatsPA 26BA 26xBA 26PA 25BA 25xBA blended
Bobby Witt Jr.R265.287.314687.295.273
Maikel GarciaR246.268.281666.286.259
Vinnie PasquantinoL244.213.234682.264.241
Salvador PerezR237.206.227641.236.238
Jac CaglianoneL200.242.256232.157.251
Carter JensenL200.223.19469.300.209
Isaac CollinsS193.216.219441.263.234
Kyle IsbelL164.243.241409.255.243
Lane ThomasR130.226.208142.160.226
Michael MasseyL125.250.203277.244.228
Nick LoftinR87.214.224188.208.237
Starling MarteR64.263.233329.270.242
Jonathan IndiaR58.167.173567.233.234
Elias DíazR23.227.238283.204.244
Tyler TolbertR7.143.18657.280.240
Drew Waters0.000219.243
John Rave0.000175.196
Mark Canha0.000125.212
Hunter Renfroe0.000108.182
Cavan Biggio0.00083.174
Luke Maile0.00054.244
Dairon Blanco0.0008.167
Carlos EstévezR0.0000.000
Luinder AvilaR0.0000.000
Taylor ClarkeR0.0000.000
Steven CruzR0.0000.000
Lucas ErcegL0.0000.000
Sam Long0.0000.000
Daniel Lynch IVL0.0000.000
Trevor RichardsR0.0000.000
John SchreiberR0.0000.000
Alex LangeR0.0000.000
Stephen KolekR0.0000.000
Michael WachaR0.0000.000
02 / Top xBA

Highest-quality contact, blended.

BatterxBA blendedBA 26xBA 26PA 26Bats
01Bobby Witt Jr..273.287.314265R
02Maikel Garcia.259.268.281246R
03Jac Caglianone.251.242.256200L
04Kyle Isbel.243.243.241164L
05Starling Marte.242.263.23364R
06Vinnie Pasquantino.241.213.234244L
07Salvador Perez.238.206.227237R
08Nick Loftin.237.214.22487R
09Jonathan India.234.167.17358R
10Isaac Collins.234.216.219193S
03 / Moves

Roster moves · trades · free-agent activity.

Dormant · data source pending
Source wires up offseason

Tracking trades, free-agent signings, non-tenders, and 40-man moves needs a dedicated source (MLB Trade Rumors RSS, MLB Transactions API, or editorial entry). Surface goes live the first time data lands.

04 / Projected

Projected lineup · rotation outlook.

Dormant · data source pending
Projection model not wired

Lineup + rotation projections need a depth-chart source or a per-team editorial entry. The MlbBatter graph carries position-agnostic stats; turning that into a 1-9 + bench + rotation card requires position metadata the schema doesn't carry yet.

05 / Futures

Win total · division · World Series.

Dormant · data source pending
Futures odds feed not in scope yet

Win-total, division, and championship futures move on different cadence than player props and require a different odds feed. The almanac currently sources player props via ParlayAPI + the-odds-api H2H — futures would slot alongside, with snapshot rows mirroring MlbLineSnapshot but typed to a futures market.

06 / Spring

Camp battles · prospect progress.

Dormant · data source pending
Editorial surface

Spring training battles (5th starter, bench spots, prospect debuts) are an editorial product — too low-frequency for a model, too high-judgment for an automatic feed. Plans for a per-team weekly note from the editor once the offseason calendar starts producing real signal.