Each set of results from Autocomplete API is considered to be a unique API request. If a user types in 'times square', every match set of results is considered its own successful API call. If a user is slowly typing each character, results that get generated consumer API calls.
To reduce number of API calls behind Autocomplete API, we recommend implementing:
- A minimum character limit, so results only start appearing after someone inputs the first 3 character
- A small amount of wait time (50-200ms) after which requests are sent to LocationIQ. This is to prevent requests getting generate for every additional character input. This way, people who type slowly might end up consuming a lot more requests
Both these suggestions will impact user-experience, so please implement this after testing. Moreover, LocationIQ pricing is drastically lower than other providers that charge on a per-session basis which means, even if it ends up such that multiple requests are consumed, pricing will be a fraction of what you would otherwise pay. So, don't sweat it.