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.