За свою карьеру 33-летний футболист успел поиграть в таких клубах как «Тун», «Люцерн», «Серветт», «Ренн» и дортмундская «Боруссия».
В составе сборной Швейцарии он выступал с 2001 по 2011 год. Всего провел 84 матча, в которых забил 42 мяча. Фрай — лучший бомбардир в истории своей национальной команды.