Snider was pulled after the sixth inning of Monday night's game at Seattle. The Blue Jays and Pirates announced the deal shortly thereafter.
Snider went 1 for 2 with a walk in his final game for Toronto. The 24-year-old began the day batting .235 with three home runs and eight RBIs in nine games for the Blue Jays. He hit .335 with 13 homers and 57 RBIs in Triple-A this year.
The right-handed Lincoln was 4-2 with one save and a 2.73 ERA in 28 games for Pittsburgh.
Pittsburgh is in playoff contention for the NL Central title and the wild-card spot. Toronto is close in the AL wild-card chase.