- Bats Left, Throws Right
- Height 6' 2", Weight 202 lb.
Keegan Swanepoel had played for the Bellville Tigers and Durbanville Villains in South Africa before making the South African national team for the 2017 World Baseball Classic Qualifiers, played in Sydney, Australia in February 2016.
He came off the bench in South Africa's opening win over New Zealand, replacing Shannon Ekermans at 1B after Ekermans left for a pinch-runner. He got one at-bat and hit a run-scoring single off Riki Paewai to bring in Rowan Ebersohn and make it 6-0; an error on the play by Max Brown scored Brandon Bouillon as well. In Game 2, he again replaced Ekermans and again got a hit, doubling off Ryan Searle in the 9th of a loss to Australia. After the two fine games off the bench, he got the start in Game 3, hitting 8th. He delivered with a 4-for-5 day against New Zealand, getting as many hits as the five South Africans with minor league experience combined (Gift Ngoepe, Anthony Phillips, Jonathan Phillips and Ebersohn each had a hit while Brett Willemburg went hitless). His biggest hit was a two-run single off Blair Johnstone to score Wesley Hoskins and Ebersohn. In the finale, against Australia, he moved up to 6th in the order but went 0-for-3 with two whiffs against Travis Blackley and Searle to prove he was human. For the event, he led South Africa in average (.600, .138 over Anthony Phillips), OPS (130 over Anthony Phillips), slugging (.085 over Kyle Botha) and hits (6, tied with Anthony Phillips), was second to Anthony Phillips in OBP and was one shy of Botha for the total bases lead. For the event as a whole, he was second in average (.025 behind former major leaguer Eric Farris), tied Anthony Phillips and James Beresford for the most hits, tied for 6th in RBI (3), tied Moko Moanaroa for 4th in OBP, was 6th in slugging (between Logan Wade and Moanaroa) and was 4th in OPS (after Trent Oeltjen, Farris and Wade).