На самом деле без знания, как именно сервис учитывает интервал времени, точный ответ на этот вопрос дать не получится и для действительной необходимости придется исследовать сервис, делая специально запросы чаще чем необходимо, выдерживая разный интервал времени (я помню как то для одной криптовалютной биржи заморочился и провел исследование, делая ряд запросов на грани бана и проверял, когда он появлялся, пытаясь вычислить эту ошибку,.. тольку от этого особого обычно нет, достаточно добавить с запасом +1 секунду и не заморачиваться).
Например сервис может сохранять не больше 7 последних запросов пользователя, если они по времени попадают на интервал последней секунды, и на каждый новый запрос считает их количество, отказывая в обработке если их станет больше.
Или же сервис может определить момент начал отсчета интервала, например как T-модуль деления (T/интервал), т.е. каждый интервал учета количества запросов для всех клиентов начинается с одного и того же времени, и сохранять для каждого пользователя количество сделанных запросов, сбрасывая в ноль это число при переходе к следующему интервалу. Само собой если количество это больше лимита то отказывать в обработке. Этот алгоритм можно расширить, к примеру хранить количество запросов за прошлый интервал (или несколько) и текущий, складывая их при проверке на лимит, в этом случае настоящий лимит, который указывается пользователям в документации, больше во столько раз, сколько хранится истории запросов для каждого пользователя.
(этот механизм проще для реализации на сервере, меньше требует памяти, и хотя не такой точный как первый, может использоваться)
...
Если тебе нужно точно знать момент, когда можно делать запрос, ты должен использовать тот же самый алгоритм у себя на клиенте. Так же ты должен знать точное время (а точнее расхождение между твоим и серверным), плюс нужно учитывать время, которое ты тратишь на запрос (в сторону сервера без учета времени на получение ответа).
-------------------
Все вышесказанное тебе может не понадобиться, так как в подавляющем большинстве случаев сервер сообщает о количестве доступных запросов и/или времени, через которое можно будет сделать следующий вопрос прямо в ответе на каждый запрос. Для этого заводится соответствующий заголовок и это указывают в документации. В этом случае тебе достаточно будет проверять этот заголовок и делать sleep (точнее usleep) ровно таким, как указано там (там бывает пишут сразу timestamp, когда можно делать следующий запрос).
p.s. посмотри внимательно, возможно долбить сервис http rest запросами не самый лучший способ получения оперативной информации, вдруг сервис предлагает более удобные инструменты, например websocket или даже старый long pooling