I find myself somewhat frequently doing a repeat search for the same term a day or more later, looking for the same site I found the first time. If Kagi were able to cache the search results for a given query for some period of time, a repeat search could use the cached results instead of having to be run through the paid APIs and incurring those costs.
I realize this may create more problems than it solves though. For example, the cache would have to be global (shared between all Kagi users) to prevent user-specific tracking, although this would actually improve the caches effectiveness. Even then, you'd still have a pool of data that clearly indicates that someone searched for X at time Y. You'd also have to determine when to use cached results vs requesting new results. For something that is breaking news, the results could change hourly or more I'd guess. When searching for a company name and I'm just looking for their website, it wouldn't matter if the results were a week old.
Another less involved suggestion would be to not do a full API search for certain searches. For example, using the search bar as a calculator, doing a currency conversion, or defining a word. Here you could just display the objective result, with an addition button for "Show more" that runs the full search if a user wants. There is a good chance you don't need to do a full API search if my query was "35*24". I don't know what percentage of API requests this would save you though.
Just some thoughts.