Stupa se nalazi u općini Dubrovačko Primorje, u Dubrovačko-neretvanskoj županiji na 200 metara nadmorske visine i prostire se na površini od 8,62 km². Prema popisu iz 2011. godine, u Stupi živi 70 stanovnika. Stanovništvo je u potpunosti hrvatsko. Okolna naselja: Ošlje, Topolo, Štedrica, Imotica, Smokovljani, Hodilje, Luka, Mali Ston, Ston i Česvinica.