location with 3rd-party APIs