If the results of the 2nd API call are mandatory for the rest of the flow, then this solution is potentially ineffective, as you only get 1 retry after a fixed sleep time.
The best way to do it would be your own solution. In a sub scenario, make the http call, then add a router. If data is found, return it. If not, just force an error.
You can use something like parseNumber(NaN;0).
On the parent scenario, add a break directive and set the scenario to re-execute every n minutes.