1. Если у вас 20 объектов, которые никогда не меняются и по факту так и так используются вашим приложением, то их вообще можно загружать/добавлять на стороне сервера и, не делая никаких запросов, а фильтровать данные на стороне клиента.
2. Если данных много и они могут измениться в любой момент, то надо перезапрашивать по каждому изменению фильтра. Для обработки действий пользователя при этом лучше использовать debounce.