Что значит "гонять все данные через api"? Вернее, как можно НЕ делать этого?
Что вы понимаете под REST API? Часто его понимают по-разному.
Как я понял: REST API на самом деле означает никакой не AJAX и не JSON, а просто удобную форму URLов (CRUD и т.д.), а насчет AJAX и формата (JSON, HTML или что) оно никаких правил не диктует.
Но:
1) JSON создает тормоза на клиенте в браузере (клиент будет толстый - JSON надо парсить и рендерить в DOM). Ну так пусть API умеет возвращать как JSON ,так и готовый HTML, первый оставим мобилодесктопным клиентам, а второй в браузере - и всем будет хорошо. Примерно так сделано у VK, Facebook и мн. др.
2) тормоза появляются, когда просто очень много тяжелых запросов и много логики на клиенте. Пример: весь портал гугла. Но никаким API и архитектурой там вообще не пахнет, как по мне.
3) тормоза появляются, когда ради фигни перезагружают страницу целиком, а не частично. Но можно сделать AJAX. И логика аякса (HTML-версии API) будет не сильно отличаться от JSON-версии, одно легко переделать на другое.