There are
1,211 mi
from St Petersburg, FL to Keokuk, IA
That's the driving distance. It would take 22 hours 38 mins to go from St Petersburg, Florida to Keokuk, Iowa.
The flight distance (direct flight from St Petersburg, FL to Keokuk, IA) is 1,004.89 mi.
1,211 mi = 1.61 kms