To expound on what Svetlozar said, if you get a timeout because the service was unavailable, due to an exorbitant number of request, and you skip to the next curl request, you are just sending more requests while the service is unavailable. This could lead to an extended down time as well as you not getting the results.
You could and should do as Svetlozar suggested and throttle your requests. Find out what the threshold is and stay below it.
Depending on the API and your exact purpose (specifically how fresh your data has to be), you may also consider caching the results and pulling from the cache before pulling directly from the API. You then just have to expire your results after a certain amount of time to make sure your data is not too stale. This would help prevent you from making so many rapid-fire requests.
I did the caching for a caller ID API. Everytime a call came in the phone server would contact my internal server and request the CID information. If my server had cached the data, it provided it, if it didn't have a cached version then it would send the request to the API. Any data more than one month old would get pruned. This cut down on the number of requests that actually had to be made to the API significantly because of the repeat callers.