Игрок обороны родился в Вологодской области.
В сезоне 2022/2023 защитник выступал за вологодское «Динамо» и команду «Родина-М». Иван провел 24 матча, забил два гола и сделал две голевых передачи.
Ранее Рапаков защищал цвета футбольных клубов «Родина» и «Муром».
В активе защитника до перехода в ФК «Калуга» было 74 матча во Второй лиге и Кубке России, девять мячей и пять голевых передач.