Ian John McCafferty (born 24 November 1944) is a Scottish former long-distance runner.
He won the silver medal at the 1970 Commonwealth Games 5000 metres when he recorded a time of 13:23.34.
In the race McCafferty defeated the current world record holder Ron Clarke, and Olympic 1,500 metres champion Kip Keino.
He won the Junior race at the 1964 International Cross Country Championships.
This biographical article relating to Scottish athletics is a stub.