A járat külső végállomása minden esetben a Tiszai pályaudvar volt, a belső végállomás többször változott. 1980 és 1984 között az Avasi lakótelepig közlekedett, majd 1984 és 2006 között az Avas kilátó lett a végállomás. A 2006-os nagy átalakítás során a végállomása az Egyetemvárosba került, de az Avas érintésével. Ezzel a hiánypótló útvonalvezetéssel, noha a legtöbb szempontból kedvező volt, számos probléma is volt. Az egyik a két végpont közti hosszú, „városnéző” jelleg, a másik pedig az, hogy az Avas III. ütem így elvesztette a pályaudvarral való közvetlen kapcsolatát. Nyáron pedig, amikor az Egyetemváros kiürült, a buszok bejáratása indokolatlanná vált. A problémák orvoslására több variációt is kipróbáltak, végül 2012-ben nemes egyszerűséggel elvágták a járatot az Avas városközpontnál. Ezt követően is több kísérletezés terepe volt a járat, míg 2015-től visszaállt az 1984-2006 közötti útvonalára, de Avas vk. betéréssel, illetve menetrendje a 2007 előttihez képest sokkal ritkább. (Napközben óránként 1 járat, a 30-as járattal együtt jár 30 percenként.)
2010. szeptember 13-tól december 22-ig egy 31A jelzésű busz is közlekedett az Avas kilátó és a Tiszai pályaudvar között, teszt jelleggel, óránként.
2014-ben egyes 31-es járatokat meghosszabbítottak az Avas kilátóig, mivel azonban ez nem önálló járat volt, ezért ezt 31Y jelzéssel jelölték. 2015. június 14-én megszűnt a 31Y-os is.
2015. június 15-től a 31-es most már az 1984-2006 közötti útvonalán jár, azzal a változtatással, hogy érinti az Avas városközpont megállót. Ezzel egyidejűleg egy új járat, a 30-as jelzésű busz is közlekedik, ami ugyanúgy a Tiszai pályaudvar és az Avas kilátó között közlekedik, de az Avas II. ütemén át.
A 2021. június 1-jétől érvényes menetrend szerint a Tiszai pályaudvar felől egy időpontban, 22:10-kor Szondi György utca érintésével közlekedik.