In 1917 and 1918, he played 91 games in right field for the Detroit Tigers, next to Ty Cobb in center field. Harper played right field for the Tigers as they transitioned the position from Hall of Fame member Sam Crawford to another Hall of Fame member Harry Heilmann.
After moving to the National League, Harper was three times among the league's leaders in batting average and on-base percentage: 1922, 1927 and 1928. Harper started for the 1927 Giants in place of the terminally ill Ross Youngs. Even with Youngs out, that year's Giants team had six future Hall of Famers in the starting lineup and one future Hall of Fame pitcher. Harper had a .435 on-base percentage that year, good enough for third best in the National League, but the team finished in third place.[3]
On May 10, 1928, Harper was traded to the St. Louis Cardinals for catcher Bob O'Farrell.[1] On September 20, the Cardinals were facing the Giants when Harper hit three home runs in one game.[4] Writing for the North American Newspaper Alliance, Walter S. Trumbull said that Harper had likely won the pennant for St. Louis with that performance.[5] The Cardinals went to the 1928 World Series, where they were swept by the New York Yankees. Harper appeared in three games, collecting one hit in eleven plate appearances.[1]
He finished his career with a .303 batting average, 91 home runs, and 530 RBI. He remained active in the minor leagues through 1936 and included a year as player/manager for the El Dorado Lions of the East Dixie League in 1934. In 1935, he was well into his forties and hit .344 for El Dorado in 135 games. Before the 1936 season, he was traded from El Dorado to the Jackson Senators of the Cotton States League in exchange for a player named Doodle Rushing.[6] The Austin Statesman advertised a baseball school that Harper was to run in March in Kilgore, Texas.[7]
In 1936, Harper's last year playing professional baseball, he hit .297 in 118 games between the Jackson Senators and the Augusta Tigers of the South Atlantic League.[1] By February 1937, Harper was living in Shreveport, Louisiana; he was not under contract with any team, but he indicated that he would entertain playing, managerial or executive offers in baseball.[8]