There are no regular city buses in Sozopol: there are only those that run between Bulgarian seaside resorts. Their schedule can be obtained by calling 0550-23460.
There is a steam train in Sozopol - the fare is 2 BGN per person, for children also one way. The schedule is not very convenient, usually once every half an hour, and in the heat of the sun the trains have a break of more than two hours, the ride takes 15-20 minutes.