Я недавно реализовал нечто подобное.Ответ прост: определите, сколько запросов вам нужно сделать.Скажем, 1 для каждой команды, так что 20 за раз.Разделите 60 секунд (период ограничения скорости) на (ограничение скорости / количество запросов) и просто кешируйте свои результаты в нечто вроде memcache для этого количества секунд.Затем, когда пользователь посещает сайт, извлеките результаты из memcache, если они есть, в противном случае обновите их.Memcache хорош тем, что он автоматически удаляет данные, срок действия которых истек, поэтому вы не будете превышать ограничение скорости и всегда будете иметь самые свежие данные из возможных (без нарушения ограничения скорости).
Итак, если ограничение скоростиравно 200 в минуту (я знаю, что это не так, но это облегчает математику), вы кешируете свои результаты в течение 60 / (200/20) = 6 секунд.Таким образом, при максимальной скорости вы будете делать 10 запросов для каждой из 20 команд в минуту, то есть 200 запросов в минуту, что является ударом по ограничению скорости.