The calculated distance (air line) between Duisburg and Speyer is approximately 163 miles respectively 263 kilometers.
By car or train, the actual journey to Speyer is certainly longer, as only the direct route (as the crow flies) between Duisburg and Speyer has been calculated here.