The calculated distance (air line) between São Tomé and Recife is approximately 166 miles respectively 266 kilometers.
By car or train, the actual journey to Recife is certainly longer, as only the direct route (as the crow flies) between São Tomé and Recife has been calculated here.