Тут всё просто:
Каждый запрос - фиксируем в таблицу БД (желательно в Redis): [IP], [логин], [timestamp], [кол-во запросов за час].
Превышение нужного порога - блокируем доступ к API, через занесение записи в таблицу BAN-ов: [логин/IP], [время, когда разрешить доступ]