Как не выполнять запрос в течении 30 минут?
let lastRequested = new Date()

if (new Date() - lastRequested > 1000 * 60 * 30) {  // 1000 мс * 60 сек * 30 мин
  lastRequested = new Date()
  // тут запрос
  //
  // а еще лучше обновить lastRequested = new Date()
  // когда запрос вернется успешно
  // чтобы в случае провала его можно было повторить быстрее чем через полчаса
}
Сохранить время выполнения последнего запроса и проверять прошло ли 30 минут с момента последнего запроса. Если прошло, то выполнять запрос и сохранять новое значение.