Их сервер может вернуть CURLE_GOT_NOTHING
если произошло превышение лимита (2 запроса в секунду), при этом можно и 100 запросов в секунду отправить и только пара из них получит такую ошибку. В своё время намучился с этой ошибкой. Надстроил повторение пока не отправится через RetryMiddleware
и свой callback как middleware на выжидание очереди запроса (что бы попадать в лимит) на базе разницы завершения предыдущего запроса (сохранённого в каком-нибудь кеше что бы не было проблем при многопоточности) и половины секунды. Получилась неплохая пушка, пока не сбоила)
Было дело, на облачной версии, что сначала норм, потом упёрлись в лимит, начал делать workaround-ы с таймаутами, ретраями, но в итоге траффик стал такой, что никак в лимит не вписывались, перешли в безлимитную коробочную версию.