The 24-year-old's move to the Iron is subject to EFL and FA ratification.
Pyke spent his early years with Huddersfield Town and gained valuable first-team experience during loan spells with Colchester United, Port Vale, Rochdale (twice, with the first time when managed by Keith Hill) and Wrexham.
He's played 21 times for Shrewsbury, who he joined last year, so far this term, but the appearances have mostly come from the substitutes' bench.
Known for his strength and pace, the Leeds-born striker has made over 100 career appearances.