Связь с внешними веб-сервисами почти всегда медленная, обычно это неприемлемо. В этом случае единственная часть, которую вы действительно сможете оптимизировать, - это издержки соединения. Если вы хотите, чтобы демон, работающий локально, поддерживал постоянное соединение с веб-сервисом Amazon, а затем выполнял запросы через него, вы могли избежать издержек соединения и сократить время отклика.
С точки зрения UX, вы, вероятно, лучше выполняете поиск через AJAX-запрос к серверу. Вы можете отобразить счетчик для пользователя, а затем заполнить страницу, когда запрос вернется. Это, вероятно, заставит его чувствовать себя немного более отзывчивым, поскольку они не будут ждать сборки всей страницы.