Blenda Tours operates a bus from Belgrade to Pirot 4 times a day, and the journey takes 4 h 35 min. Auto Kodeks also services this route once daily. Alternatively, Greek Railways (OSE) operates a train from Belgrade to Pirot 5 times a week. Tickets cost $15 - $20 and the journey takes 4 h 28 min. Serbian Railways also services this route 5 times a day.
How to get from Belgrade to Pirot
From Autokomanda bus to Pirot. 4 h 35 min RSD 2444. From Belgrade bus to Niš then bus to Pirot. 5 h 44 min RSD 1788. From Beograd train to Palilulska pijaca then train to Bozurat. 7 h 55 min RSD 2260. From Belgrade drive to Pirot. 3 h 10 min RSD 4047.