Availability is not 100%.
There can be various errors, if you are doing automated data gathering you need to code to handle the errors.
I now use a mix... initially API failures are re-tried several times, with increasing delay from a couple of seconds to a couple of minutes, that will cope with most issues. Sometimes that is not enough, if the initial method fails, the capture is aborted and re-run an hour or so later, which is generally enough time.