Šemper werd geboren in Zagreb en sloot zich op zesjarige leeftijd aan in de jeugdacademie van Dinamo Zagreb. Op 6 mei 2016 debuteerde hij in de tegen Slaven Belupo Koprivnica.[3] Hij begon het seizoen 2016/17 als eerste doelman, maar verloor zijn plek aan Dominik Livaković. Hierom werd hij een half seizoen later, in 2017, verhuurd aan stadsgenoot NK Lokomotiva Zagreb. Daar deed Šemper het beter en was hij een seizoen lang de vaste waarde in het doel. Dit trok de interesse van Chievo Verona, in de Italiaanse Serie A, dat hem twee seizoenen huurde. Šemper debuteerde nog met een uitoverwinning op SS Lazio (1–2), maar aan het eind van het seizoen degradeerde de club. In september 2020 werd Šemper definitief overgenomen van Dinamo Zagreb.