Город расположен на побережье Ботнического залива, в устье одноимённой речки. Имеется небольшой порт. Также, в Калайоки находится один из крупнейших в стране пляжей. В 20 км от побережья расположены 2 небольших островка: Маакалла и Улкокалла.
Население
По данным на 2012 год население общины составляет 12 589 человек[6]. Плотность населения — 13,65 чел/км². Официальный язык — финский; он является родным для 98,8 % населения Калайоки. 0,2 % населения общины считают родным языком шведский и ещё 1 % — другие языки. Доля лиц младше 18 лет — 19,7 %; лиц старше 65 лет — 17,1 %.