\n\n","providerName":"Twitter","providerUrl":"https://twitter.com","thumbnail_url":null,"type":"oembed","width":550,"contentType":"rich"},{"__typename":"Markdown","content":"BRADENTON, Fla. -- Henry Davis called it before the coaches could with the Trackman behind them. Roansy Contreras perfectly placed a breaking ball on the outer edge of the zone during a live batting practice, and the catcher signaled strike three.\n\nThe pitch was a beaut, and a small taste of what Contreras missed out on last year.\n\n“It was a good offseason,” Contreras said, via coach and interpreter Stephen Morales. “After everything that happened last year, I was able to get together with the organization and work on the stuff I need to get better at. I think that was a really productive offseason for me.”","type":"text"},{"__typename":"Video","contentDate":"2023-04-15T22:29:42.114Z","preferredPlaybackScenarioURL({\"preferredPlaybacks\":\"mp4AvcPlayback\"})":"https://mlb-cuts-diamond.mlb.com/FORGE/2023/2023-04/15/08826978-0ad87031-a98c3982-csvm-diamondx64-asset_1280x720_59_4000K.mp4","type":"video","description":"Roansy Contreras strikes out six over six frames of work against the Cardinals on Jackie Robinson Day","displayAsVideoGif":false,"duration":"00:00:50","slug":"roansy-contreras-strikes-out-six","tags":[{"__typename":"GameTag"},{"__typename":"TeamTag","slug":"teamid-134","title":"Pittsburgh Pirates","team":{"__ref":"Team:134"},"type":"team"},{"__typename":"PersonTag","slug":"playerid-672710","title":"Roansy Contreras","person":{"__ref":"Person:672710"},"type":"player"},{"__typename":"TaxonomyTag","slug":"highlight-reel-pitching","title":"highlight reel pitching","type":"taxonomy"},{"__typename":"TaxonomyTag","slug":"pitching","title":"pitching","type":"taxonomy"},{"__typename":"TaxonomyTag","slug":"highlight-reel-starting-pitching","title":"highlight reel starting pitching","type":"taxonomy"},{"__typename":"TaxonomyTag","slug":"game-action-tracking","title":"game action tracking","type":"taxonomy"},{"__typename":"TaxonomyTag","slug":"in-game-highlight","title":"in-game highlight","type":"taxonomy"},{"__typename":"TaxonomyTag","slug":"highlight","title":"highlight","type":"taxonomy"},{"__typename":"TaxonomyTag","slug":"international-feed","title":"International Partner feed","type":"taxonomy"},{"__typename":"TaxonomyTag","slug":"eclat-feed","title":"Eclat feed","type":"taxonomy"},{"__typename":"TaxonomyTag","slug":"fan-duel","title":"Fan Duel","type":"taxonomy"},{"__typename":"TaxonomyTag","slug":"apple-news","title":"Apple News","type":"taxonomy"}],"thumbnail":{"__typename":"Thumbnail","templateUrl":"https://img.mlbstatic.com/mlb-images/image/upload/{formatInstructions}/mlb/zquhg8uvardxfxkonkp1"},"title":"Roansy Contreras strikes out six","relativeSiteUrl":"/video/roansy-contreras-strikes-out-six"},{"__typename":"Markdown","content":"Contreras looked sharp during his live batting practice Wednesday at Pirate City. The curveball had the bite he’s been searching for, he dotted some fastballs and maintained that stuff for a second up, hardly a given for pitchers this early in Spring Training.\n\nIt certainly looked more like the Contreras people expected to see rather than the one they actually saw. In 2022, Contreras looked to be the first young pitcher to join Mitch Keller as one of Pittsburgh’s frontline starters for years to come. He pitched for the Dominican Republic in the World Baseball Classic last March. “Ro Day” was one of the most anticipated each turn through the rotation.\n\nBut he stumbled, being demoted to the bullpen and eventually the Minors en route to a 3-7 record with a 6.59 ERA.\n\n“It was a learning experience,” Pirates manager Derek Shelton said about what he hoped Contreras took from last year. “Ro’s 24 years old. We forget that. The strides that he took this winter and the commitment that he had to not only his body but his delivery and his stuff, I think we saw it today. Two solid ups. The ball continued to come out of his hand hot. The velocity was up. The execution of the breaking stuff was good. It’s speaking to the commitment he put in this winter in terms of what he needed to do to continue to get better.”","type":"text"},{"__typename":"OEmbed","html":"","providerName":"MLB","providerUrl":null,"thumbnail_url":null,"type":"oembed","width":425,"contentType":"rich"},{"__typename":"Markdown","content":"Arguably the most important part of that assessment is that Contreras’ velocity is up. Pitch data is not made public at Pirate City, and even if it was, most pitchers gain velocity as Spring Training progresses, so any radar reading may not be a true example of how hard he can throw. But any news that the velocity is up is good news.\n\nAfter averaging at least 95 mph on his four-seamer every month of his Pirates career -- with the exception being after a planned midseason shutdown to manage innings in September 2022 -- Contreras’ fastball dipped to about 94 for most of 2023, the lone exception being his first month in the bullpen in June. That quick spike in velocity turned out to be very short-lived, and by the time he was optioned to the Minors again, he was pumping 92 mph at Dodger Stadium.","type":"text"},{"__typename":"Image","caption":null,"contextualCaption":null,"contextualAspectRatio":null,"credit":null,"contentType":null,"format":"jpg","templateUrl":"https://img.mlbstatic.com/mlb-images/image/upload/{formatInstructions}/mlb/t413uhszjsxtn9pyjx9j","type":"image"},{"__typename":"Markdown","content":"The team optioned him to the Minors after that outing against the Dodgers, and he would spend a stretch in Pirate City to try to get a longer look at him. A trip to Driveline and extended monitoring in the Complex League were parts of the deeper look they took last season to learn more about how he should move.\n\nDuring it all, Contreras couldn’t get in sync.\n\n“Since Spring Training, I was looking for mechanics that I feel good with,” Contreras said. “It was tough during the year trying to find one that works for me. This year is way better.”","type":"text"},{"__typename":"Video","contentDate":"2023-06-28T01:49:24.884Z","preferredPlaybackScenarioURL({\"preferredPlaybacks\":\"mp4AvcPlayback\"})":"https://bdata-producedclips.mlb.com/a6fac5cc-3dfd-420c-a332-1f3d9e1224e6.mp4","type":"video","description":"Roansy Contreras gets Fernando Tatis Jr. to ground out for the final out of the Pirates' 9-4 win over the Padres","displayAsVideoGif":false,"duration":"00:00:17","slug":"roansy-contreras-in-play-out-s-to-fernando-tatis-jr-jiuurd","tags":[{"__typename":"InternalTag","slug":"season-2023","title":"Season 2023","type":"season"},{"__typename":"GameTag"},{"__typename":"PersonTag","slug":"playerid-672710","title":"Roansy Contreras","person":{"__ref":"Person:672710"},"type":"player"},{"__typename":"TeamTag","slug":"teamid-134","title":"Pittsburgh Pirates","team":{"__ref":"Team:134"},"type":"team"},{"__typename":"TaxonomyTag","slug":"pitching","title":"pitching","type":"taxonomy"},{"__typename":"TaxonomyTag","slug":"highlight","title":"highlight","type":"taxonomy"},{"__typename":"TaxonomyTag","slug":"in-game-highlight","title":"in-game highlight","type":"taxonomy"},{"__typename":"TaxonomyTag","slug":"game-action-tracking","title":"game action tracking","type":"taxonomy"},{"__typename":"TaxonomyTag","slug":"fan-duel","title":"Fan Duel","type":"taxonomy"},{"__typename":"TaxonomyTag","slug":"eclat-feed","title":"Eclat feed","type":"taxonomy"},{"__typename":"TaxonomyTag","slug":"international-feed","title":"International Partner feed","type":"taxonomy"}],"thumbnail":{"__typename":"Thumbnail","templateUrl":"https://img.mlbstatic.com/mlb-images/image/upload/{formatInstructions}/mlb/s1vtw3wupjfxu7rorgjd"},"title":"Roansy Contreras nails down save","relativeSiteUrl":"/video/roansy-contreras-in-play-out-s-to-fernando-tatis-jr-jiuurd"},{"__typename":"Markdown","content":"The focus all winter was movement-based, trying to be more explosive as he drove to the mound. Contreras saw the dip in velocity and was driven to get it back. Shelton has noticed he’s moving down the mound better with more arm speed.\n\nSeeing him walk around the clubhouse and on the mound, he’s carrying himself with more confidence again.\n\n“When you have a purpose with everything you do, when you have God in your heart, nothing’s impossible,” Contreras said. “That was the main two things I put in my mind. If you’ve got those two things, you can do it.”\n\nDespite last season’s setbacks, Contreras is coming into camp with a chance to earn a rotation spot again. He’s just looking for that opportunity to prove himself.\n\n“It has always been my mindset to come here and compete for a job,” Contreras said. “Every year is going to be the same. I’m here to compete and earn my spot.”","type":"text"}],"relativeSiteUrl":"/news/roansy-contreras-looking-to-earn-rotation-spot-for-pirates","contentType":"news","subHeadline":null,"summary":"BRADENTON, Fla. -- Henry Davis called it before the coaches could with the Trackman behind them. Roansy Contreras perfectly placed a breaking ball on the outer edge of the zone during a live batting practice, and the catcher signaled strike three.\nThe pitch was a beaut, and a small taste","tagline({\"formatString\":\"none\"})":null,"tags":[{"__typename":"InternalTag","slug":"storytype-article","title":"Article","type":"article"},{"__typename":"ContributorTag","slug":"alex-stumpf","title":"Alex Stumpf","type":"contributor"},{"__typename":"PersonTag","slug":"playerid-672710","title":"Roansy Contreras","person":{"__ref":"Person:672710"},"type":"player"},{"__typename":"TeamTag","slug":"teamid-134","title":"Pittsburgh Pirates","team":{"__ref":"Team:134"},"type":"team"},{"__typename":"TaxonomyTag","slug":"spring-training","title":"Spring Training","type":"taxonomy"},{"__typename":"TaxonomyTag","slug":"apple-news","title":"Apple News","type":"taxonomy"}],"type":"story","thumbnail":"https://img.mlbstatic.com/mlb-images/image/upload/{formatInstructions}/mlb/ewaf9p4g682zt5nphvjv","title":"Roansy Contreras looking to earn rotation spot for Pirates"},"getHeaderFromForgePath({\"contentSource\":\"MLB\",\"headerPath\":\"/_navs/header/mlb/global-nav\",\"paletteKey\":\"mlb-base-palette\",\"propertiesKey\":\"mlb-global-properties\"})":{"__typename":"Header","navigation":[{"__typename":"NavItem","customPropertiesString":"align:right;","icon":null,"linkTarget":null,"linkText":"MLB.TV","linkUrl":"https://www.mlb.com/tv?&affiliateId=mlbMENUtv","placement":"right","visible":"true","subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Buy MLB.TV Offseason Package","linkUrl":"/live-stream-games/subscribe?&affiliateId=mlbMENUtv","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Watch & Listen","linkUrl":"/live-stream-games?&affiliateID=mlbMENUtv","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB.TV Partners","linkUrl":"https://www.mlb.com/live-stream-games/partners?&affiliateId=mlbMENUtv","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Link Account","linkUrl":"live-stream-games/partners?&affiliateId=mlbMENUtv","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Help Center","linkUrl":"/live-stream-games/help-center?&affiliateID=mlbMENUtv","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":"align:right;","icon":null,"linkTarget":null,"linkText":"Tickets","linkUrl":"/tickets","placement":"right","visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"All-Star Tickets","linkUrl":"/all-star/tickets","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":"expires:1721167200;"},{"__typename":"NavItem","placement":null,"linkText":"MLB at Rickwood Field","linkUrl":"/events/rickwood/tickets","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":"expires:1718924400;"},{"__typename":"NavItem","placement":null,"linkText":"Spring Training","linkUrl":"/tickets/spring-training","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":"expires:1711511940;"},{"__typename":"NavItem","placement":null,"linkText":"Postseason Tickets","linkUrl":"/tickets/postseason","linkTarget":null,"visible":"false","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Buy on SeatGeek","linkUrl":"https://seatgeek.com/mlb-tickets?aid=15994&pid=integration&rid=1&utm_medium=partnership&utm_source=mlb_sponsorship&utm_campaign=integration","linkTarget":"_blank","visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Sell on SeatGeek","linkUrl":"https://seatgeek.com/sell/mlb-tickets?aid=15994&pid=integration&rid=15&utm_medium=partnership&utm_source=mlb_sponsorship&utm_campaign=integration","linkTarget":"_blank","visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Season Tickets","linkUrl":"/tickets/season-tickets","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Single Game Tickets","linkUrl":"/schedule","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Group Tickets","linkUrl":"/tickets/group-tickets","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Special Ticket Offers","linkUrl":"/tickets/fan-value","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Speedway Classic","linkUrl":"/events/speedway-classic/tickets","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"VIP Ticket Packages","linkUrl":"/tickets/on-location-experiences","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Students","linkUrl":"/tickets/students","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Tourism","linkUrl":"/tourism","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB World Tour","linkUrl":"/international/events","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Ticket Terms & Conditions","linkUrl":"/tickets/terms-and-conditions","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":"align:right;","icon":"shopping-cart","linkTarget":null,"linkText":"Shop","linkUrl":"https://www.mlbshop.com/?_s=bm-mlbcom-hp","placement":"right","visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"MLB Online Shop","linkUrl":"https://www.mlbshop.com/?_s=bm-mlbcom-hp","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":""},{"__typename":"NavItem","placement":null,"linkText":"Auction","linkUrl":"https://auctions.mlb.com/iSynApp/showHomePage.action?sid=1101001&isynsharedsession=9mislq-18JnZhOEp-FeGzvUB3G6zxwkeKqwX99MKAttEdaSACl02r4aCDzYhNvUm","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Gift Cards","linkUrl":"https://www.mlbshop.com/gift-cards/x-462351+z-94899005-3509039474?_s=bm-mlbcom-Home","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":""},{"__typename":"NavItem","placement":null,"linkText":"MLB NYC Flagship Store","linkUrl":"/shop/nyc-retail-store","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"European Shop","linkUrl":"http://www.mlbshopeurope.com/stores/mlb/en?portal=MLTS66FS&CMP=PSC-MLTS66FS","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":""},{"__typename":"NavItem","placement":null,"linkText":"Photo Store","linkUrl":"https://photostore.mlb.com/","linkTarget":null,"visible":"false","icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":"amp:true;mobile:true","icon":null,"linkTarget":null,"linkText":"News","linkUrl":"/news","placement":"mobile","visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Rule Changes","linkUrl":"https://www.mlb.com/rule-changes-2023","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Probable Pitchers","linkUrl":"/probable-pitchers/","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Starting Lineups","linkUrl":"/starting-lineups","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Transactions","linkUrl":"https://www.mlb.com/transactions","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Injury Report","linkUrl":"/injury-report","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"World Baseball Classic","linkUrl":"/world-baseball-classic","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Draft","linkUrl":"/draft/2024","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"All-Star Game","linkUrl":"/all-star/","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Life","linkUrl":"/fans/mlb-life","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Pipeline","linkUrl":"https://www.mlb.com/pipeline","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Postseason History","linkUrl":"/postseason/history","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Great Stories","linkUrl":"/news/topic/longform","linkTarget":null,"visible":"false","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Podcasts","linkUrl":"/fans/podcasts","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":null,"icon":null,"linkTarget":null,"linkText":"Watch","linkUrl":"/tv?&affiliateId=mlbMENU","placement":null,"visible":null,"subNav":[{"__typename":"SubnavColumn","title":"Video","navigation":[{"__typename":"NavItem","placement":null,"linkText":"Search","linkUrl":"/video","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Statcast","linkUrl":"/video/topic/statcast","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Network","linkUrl":"/network","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]},{"__typename":"SubnavColumn","title":"MLB.TV","navigation":[{"__typename":"NavItem","placement":null,"linkText":"Buy MLB.TV Postseason Package","linkUrl":"/live-stream-games/subscribe?&affiliateId=mlbMENU","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Watch & Listen","linkUrl":"/live-stream-games?&affiliateID=mlbMENU","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Help Center","linkUrl":"/live-stream-games/help-center?&affiliateID=mlbMENU","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":"mobile:true;amp:true;","icon":null,"linkTarget":null,"linkText":"Scores","linkUrl":"/scores/2025-02-20","placement":"mobile","visible":"true","subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[]}]},{"__typename":"NavItem","customPropertiesString":"amp:true;mobile:true;","icon":null,"linkTarget":null,"linkText":"Schedule","linkUrl":"/schedule/2025-02-20","placement":"mobile","visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"2025 Spring Training","linkUrl":"/schedule/2025-02-20","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"2025 Regular Season","linkUrl":"/schedule/2025-03-18","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"2024 Regular Season","linkUrl":"/schedule/2024-03-20","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"2024 Postseason","linkUrl":"/postseason","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Events","linkUrl":"/events","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Team by Team Schedule","linkUrl":"/schedule/team-by-team","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Sync Schedules","linkUrl":"https://mlb.ecal.com/","linkTarget":"_blank","visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"National Broadcasts","linkUrl":"/live-stream-games/national-broadcast-schedule","linkTarget":null,"visible":"false","icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":"mobile:true;amp:true;","icon":null,"linkTarget":null,"linkText":"Stats","linkUrl":"/stats","placement":"mobile","visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Statcast Leaders","linkUrl":"https://baseballsavant.mlb.com/statcast_leaderboard","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Statcast","linkUrl":"/statcast","linkTarget":"","visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Baseball Savant","linkUrl":"https://baseballsavant.mlb.com/","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Top Prospect Stats","linkUrl":"/prospects/stats/top-prospects?type=all&minPA=1","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":"amp:true;","icon":null,"linkTarget":null,"linkText":"Standings","linkUrl":"/standings/wild-card","placement":null,"visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[]}]},{"__typename":"NavItem","customPropertiesString":null,"icon":null,"linkTarget":null,"linkText":"Youth","linkUrl":"/youth-baseball-softball","placement":null,"visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Play Ball","linkUrl":"/play-ball","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Youth Baseball & Softball","linkUrl":"/youth-baseball-softball","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":"","icon":"group","linkTarget":null,"linkText":"Players","linkUrl":"/players","placement":null,"visible":"true","subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Prospect Rankings","linkUrl":"/prospects","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Depth Charts","linkUrl":"/team/roster/depth-chart","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Players Association","linkUrl":"https://www.mlbplayers.com","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Negro Leagues","linkUrl":"/history/negro-leagues","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":null,"icon":null,"linkTarget":null,"linkText":"MLB Play","linkUrl":"/play","placement":null,"visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Beat the Streak","linkUrl":"/play?gameId=BeatTheStreak2022","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Immaculate Grid","linkUrl":"/play?gameId=ImmaculateGrid2024","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Trivia","linkUrl":"/play?gameId=SporcleTrivia2024","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Pickle","linkUrl":"/play?gameId=Pickle2023","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"By the Numbers","linkUrl":"/play?gameId=ByTheNumbers2022","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Diamond Decisions","linkUrl":"/play?gameId=DiamondDecisions2024","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Bingo","linkUrl":"/play?gameId=Bingo2023","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":"expires:1720022400;","icon":null,"linkTarget":null,"linkText":"Vote","linkUrl":"/all-star/ballot?affiliateId=asb-topnav-mlb-2024","placement":null,"visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[]}]},{"__typename":"NavItem","customPropertiesString":"amp:true;module:teammodule;align:right;","icon":null,"linkTarget":null,"linkText":"Teams","linkUrl":"/team","placement":"right","visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Team Module","linkUrl":null,"linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":"module:teammodule;"}]}]},{"__typename":"NavItem","customPropertiesString":"align:right;lang:es;label:Español","icon":null,"linkTarget":null,"linkText":"ES","linkUrl":"/es","placement":"right","visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"日本語","linkUrl":"http://www.mlb.jp/","linkTarget":null,"visible":"false","icon":null,"tooltip":null,"customPropertiesString":"lang:ja"},{"__typename":"NavItem","placement":null,"linkText":"한국어","linkUrl":"https://www.mlbkor.com/","linkTarget":null,"visible":"false","icon":null,"tooltip":null,"customPropertiesString":"lang:ko"}]}]}],"cfPalette":{"__typename":"CF_Palette","headerMastheadBackgroundColor":"#002D72","headerMastheadTextColor":"#ffffff","headerNavigationBackgroundColor":"#041E42","headerNavigationBorderColor":"#057AFF","headerNavigationTextColorHover":"#ffffff","headerNavigationTextColor":"#ffffff"},"cfWebProperties":{"__typename":"CF_WebProperties","urlLogo":null,"headerMastheadTagline":null,"headerPrimaryLogo":{"__typename":"CF_Asset","url":null,"description":null},"headerMastheadSponsorImage":{"__typename":"CF_Asset","url":null,"description":null},"headerMastheadTaglineContainerWidth":"512px","headerMastheadTaglineContainerHeight":"56px"}},"getTeamsBySportId({\"ids\":[1]})":[{"__ref":"Team:133"},{"__ref":"Team:134"},{"__ref":"Team:135"},{"__ref":"Team:136"},{"__ref":"Team:137"},{"__ref":"Team:138"},{"__ref":"Team:139"},{"__ref":"Team:140"},{"__ref":"Team:141"},{"__ref":"Team:142"},{"__ref":"Team:143"},{"__ref":"Team:144"},{"__ref":"Team:145"},{"__ref":"Team:146"},{"__ref":"Team:147"},{"__ref":"Team:158"},{"__ref":"Team:108"},{"__ref":"Team:109"},{"__ref":"Team:110"},{"__ref":"Team:111"},{"__ref":"Team:112"},{"__ref":"Team:113"},{"__ref":"Team:114"},{"__ref":"Team:115"},{"__ref":"Team:116"},{"__ref":"Team:117"},{"__ref":"Team:118"},{"__ref":"Team:119"},{"__ref":"Team:120"},{"__ref":"Team:121"}]},"Team:134":{"__typename":"Team","id":134,"division":{"__ref":"Division:205"},"name":"Pittsburgh Pirates","shortName":"Pittsburgh","teamName":"Pirates"},"Person:672710":{"__typename":"Person","id":672710},"Division:200":{"__typename":"Division","id":"200"},"Team:133":{"__typename":"Team","division":{"__ref":"Division:200"},"id":133,"name":"Athletics","shortName":"Athletics","teamName":"Athletics"},"Division:205":{"__typename":"Division","id":"205"},"Division:203":{"__typename":"Division","id":"203"},"Team:135":{"__typename":"Team","division":{"__ref":"Division:203"},"id":135,"name":"San Diego Padres","shortName":"San Diego","teamName":"Padres"},"Team:136":{"__typename":"Team","division":{"__ref":"Division:200"},"id":136,"name":"Seattle Mariners","shortName":"Seattle","teamName":"Mariners"},"Team:137":{"__typename":"Team","division":{"__ref":"Division:203"},"id":137,"name":"San Francisco Giants","shortName":"San Francisco","teamName":"Giants"},"Team:138":{"__typename":"Team","division":{"__ref":"Division:205"},"id":138,"name":"St. Louis Cardinals","shortName":"St. Louis","teamName":"Cardinals"},"Division:201":{"__typename":"Division","id":"201"},"Team:139":{"__typename":"Team","division":{"__ref":"Division:201"},"id":139,"name":"Tampa Bay Rays","shortName":"Tampa Bay","teamName":"Rays"},"Team:140":{"__typename":"Team","division":{"__ref":"Division:200"},"id":140,"name":"Texas Rangers","shortName":"Texas","teamName":"Rangers"},"Team:141":{"__typename":"Team","division":{"__ref":"Division:201"},"id":141,"name":"Toronto Blue Jays","shortName":"Toronto","teamName":"Blue Jays"},"Division:202":{"__typename":"Division","id":"202"},"Team:142":{"__typename":"Team","division":{"__ref":"Division:202"},"id":142,"name":"Minnesota Twins","shortName":"Minnesota","teamName":"Twins"},"Division:204":{"__typename":"Division","id":"204"},"Team:143":{"__typename":"Team","division":{"__ref":"Division:204"},"id":143,"name":"Philadelphia Phillies","shortName":"Philadelphia","teamName":"Phillies"},"Team:144":{"__typename":"Team","division":{"__ref":"Division:204"},"id":144,"name":"Atlanta Braves","shortName":"Atlanta","teamName":"Braves"},"Team:145":{"__typename":"Team","division":{"__ref":"Division:202"},"id":145,"name":"Chicago White Sox","shortName":"Chi White Sox","teamName":"White Sox"},"Team:146":{"__typename":"Team","division":{"__ref":"Division:204"},"id":146,"name":"Miami Marlins","shortName":"Miami","teamName":"Marlins"},"Team:147":{"__typename":"Team","division":{"__ref":"Division:201"},"id":147,"name":"New York Yankees","shortName":"NY Yankees","teamName":"Yankees"},"Team:158":{"__typename":"Team","division":{"__ref":"Division:205"},"id":158,"name":"Milwaukee Brewers","shortName":"Milwaukee","teamName":"Brewers"},"Team:108":{"__typename":"Team","division":{"__ref":"Division:200"},"id":108,"name":"Los Angeles Angels","shortName":"LA Angels","teamName":"Angels"},"Team:109":{"__typename":"Team","division":{"__ref":"Division:203"},"id":109,"name":"Arizona Diamondbacks","shortName":"Arizona","teamName":"D-backs"},"Team:110":{"__typename":"Team","division":{"__ref":"Division:201"},"id":110,"name":"Baltimore Orioles","shortName":"Baltimore","teamName":"Orioles"},"Team:111":{"__typename":"Team","division":{"__ref":"Division:201"},"id":111,"name":"Boston Red Sox","shortName":"Boston","teamName":"Red Sox"},"Team:112":{"__typename":"Team","division":{"__ref":"Division:205"},"id":112,"name":"Chicago Cubs","shortName":"Chi Cubs","teamName":"Cubs"},"Team:113":{"__typename":"Team","division":{"__ref":"Division:205"},"id":113,"name":"Cincinnati Reds","shortName":"Cincinnati","teamName":"Reds"},"Team:114":{"__typename":"Team","division":{"__ref":"Division:202"},"id":114,"name":"Cleveland Guardians","shortName":"Cleveland","teamName":"Guardians"},"Team:115":{"__typename":"Team","division":{"__ref":"Division:203"},"id":115,"name":"Colorado Rockies","shortName":"Colorado","teamName":"Rockies"},"Team:116":{"__typename":"Team","division":{"__ref":"Division:202"},"id":116,"name":"Detroit Tigers","shortName":"Detroit","teamName":"Tigers"},"Team:117":{"__typename":"Team","division":{"__ref":"Division:200"},"id":117,"name":"Houston Astros","shortName":"Houston","teamName":"Astros"},"Team:118":{"__typename":"Team","division":{"__ref":"Division:202"},"id":118,"name":"Kansas City Royals","shortName":"Kansas City","teamName":"Royals"},"Team:119":{"__typename":"Team","division":{"__ref":"Division:203"},"id":119,"name":"Los Angeles Dodgers","shortName":"LA Dodgers","teamName":"Dodgers"},"Team:120":{"__typename":"Team","division":{"__ref":"Division:204"},"id":120,"name":"Washington Nationals","shortName":"Washington","teamName":"Nationals"},"Team:121":{"__typename":"Team","division":{"__ref":"Division:204"},"id":121,"name":"New York Mets","shortName":"NY Mets","teamName":"Mets"}}}
window.adobeAnalytics = {"reportingSuiteId":"mlbglobal08,mlbcom08","linkInternalFilters":"mlb"}
window.globalState = {"tracking_title":"Major League Baseball","lang":"en"}
window.appId = ''
/*-->*/
'Nothing's impossible': Contreras ready to compete for rotation spot in '24
'Nothing's impossible': Contreras ready to compete for rotation spot in '24
BRADENTON, Fla. -- Henry Davis called it before the coaches could with the Trackman behind them. Roansy Contreras perfectly placed a breaking ball on the outer edge of the zone during a live batting practice, and the catcher signaled strike three.
The pitch was a beaut, and a small taste of what Contreras missed out on last year.
“It was a good offseason,” Contreras said, via coach and interpreter Stephen Morales. “After everything that happened last year, I was able to get together with the organization and work on the stuff I need to get better at. I think that was a really productive offseason for me.”
Contreras looked sharp during his live batting practice Wednesday at Pirate City. The curveball had the bite he’s been searching for, he dotted some fastballs and maintained that stuff for a second up, hardly a given for pitchers this early in Spring Training.
It certainly looked more like the Contreras people expected to see rather than the one they actually saw. In 2022, Contreras looked to be the first young pitcher to join Mitch Keller as one of Pittsburgh’s frontline starters for years to come. He pitched for the Dominican Republic in the World Baseball Classic last March. “Ro Day” was one of the most anticipated each turn through the rotation.
But he stumbled, being demoted to the bullpen and eventually the Minors en route to a 3-7 record with a 6.59 ERA.
“It was a learning experience,” Pirates manager Derek Shelton said about what he hoped Contreras took from last year. “Ro’s 24 years old. We forget that. The strides that he took this winter and the commitment that he had to not only his body but his delivery and his stuff, I think we saw it today. Two solid ups. The ball continued to come out of his hand hot. The velocity was up. The execution of the breaking stuff was good. It’s speaking to the commitment he put in this winter in terms of what he needed to do to continue to get better.”
Arguably the most important part of that assessment is that Contreras’ velocity is up. Pitch data is not made public at Pirate City, and even if it was, most pitchers gain velocity as Spring Training progresses, so any radar reading may not be a true example of how hard he can throw. But any news that the velocity is up is good news.
After averaging at least 95 mph on his four-seamer every month of his Pirates career -- with the exception being after a planned midseason shutdown to manage innings in September 2022 -- Contreras’ fastball dipped to about 94 for most of 2023, the lone exception being his first month in the bullpen in June. That quick spike in velocity turned out to be very short-lived, and by the time he was optioned to the Minors again, he was pumping 92 mph at Dodger Stadium.
The team optioned him to the Minors after that outing against the Dodgers, and he would spend a stretch in Pirate City to try to get a longer look at him. A trip to Driveline and extended monitoring in the Complex League were parts of the deeper look they took last season to learn more about how he should move.
During it all, Contreras couldn’t get in sync.
“Since Spring Training, I was looking for mechanics that I feel good with,” Contreras said. “It was tough during the year trying to find one that works for me. This year is way better.”
The focus all winter was movement-based, trying to be more explosive as he drove to the mound. Contreras saw the dip in velocity and was driven to get it back. Shelton has noticed he’s moving down the mound better with more arm speed.
Seeing him walk around the clubhouse and on the mound, he’s carrying himself with more confidence again.
“When you have a purpose with everything you do, when you have God in your heart, nothing’s impossible,” Contreras said. “That was the main two things I put in my mind. If you’ve got those two things, you can do it.”
Despite last season’s setbacks, Contreras is coming into camp with a chance to earn a rotation spot again. He’s just looking for that opportunity to prove himself.
“It has always been my mindset to come here and compete for a job,” Contreras said. “Every year is going to be the same. I’m here to compete and earn my spot.”