Šeimyniškių piliakalnis datuojamas I tūkst. – XV a. Tai vienas gražiausių ir didžiausių Lietuvos piliakalnių, įrengtas aukštumos kyšulyje, kurį šiaurės rytuose juosia Piliaus upelis, iš pietvakarių pusės – Pilupis. Aikštelė trapecinė, pailga, 70 m ilgio, 40 m pločio pietryčiuose, 19 m pločio šiaurės vakaruose. Iš visų pusių aikštelė buvo apjuosta pylimu. Pietrytinėje papėdėje yra 10 m pločio kelio liekanos.
Piliakalnyje stovėjo Užpalių pilis. Užpaliai minimi 1338 m. Pilies papilį 1373 m. kovo mėnesį naktį užpuolė ir sudegino Livonijos ordinas, išžudydamas visus jame buvusius žmones ir išsivesdamas 70 arklių. 1398 m. minimas Užpalių pilies viršininkas lot. capitaneus). 1433 m. vasario pradžioje pilį sudegino Livonijos ordinas, tačiau ji greitai atstatyta, nes 1448 m. vėl minimas pilies viršininkas, o 1453 m. čia planuota rengti susitikimą dėl sienų su Livonija sureguliavimo.
Užpalių seniūnija 1997 m. nuo šiaurinio piliakalnio šlaito alksnyno apie 60 arų plote pašalino medžius ir piliakalnis atsiveria visu grožiu. Kirsta žiemos metu, kol pašalusi žemė, kad neardyti šlaitų. Kad iš kelmų neželtų atžalos nupurkšta herbicidais kurie veikia medžius, bet beveik nekenkia žolinei augalijai. 1996–1998 m. iki piliakalnio apsauginės ribos nutiesta kelias, įrengta mašinų stovėjimo aikštelė. Piliakalnio šiaurės vakarų šlaite įrengti paprasti ir pakankamai patogūs laiptai, kurie beveik nežymūs piliakalnio fone, išsiskiria tik turėklai.