Как обезопасить сайт работающий с API?
JWT, ApiDoc и конечно https
Забыть о сессиях и всякой остальной фигне.
Конечно должны быть кастомные реквесты, жесткие модели и серьезная валидация данных.
Нужно знать кто является клиентом, много ли их. Может быть им проще выдать секретные ключи и подписывать запрос токеном с использованием секрета. 
А от ботов защититься будет сложно. Как верно указали выше, ограничить кол-во запросов с одним токеном.