Хочешь пиши nginx конфиг с блоком запросов.
Хочешь ставь таймауты на обработку роутов в Laravel.
Хочешь пермишены добавляй на запросы и пиши счётчик обращений в базу
вот если бы это был не виджет, а просто фронт, я бы так и сделал, взял настроил nginx чтоб отдавать инфо только на один IP, прикрутил бы cors и поехали. Трабл в том, что виджет работает на разных ресурсах, откуда запрос будет лететь вообще хрен знает. Таймаут не решит проблему. Пермишены есть для авторизованных, но когда клиент не авторизован, у меня пока ступор.