1. A method for providing search results comprising: (a) capturing characters of a search term as they are entered into a client system; (b) predicting search terms in dependence on the captured characters; (c) obtaining search results for a predetermined number of the predicted search terms; (d) caching the obtained search results at the client system; and, (e) upon determining the complete search term has been entered, displaying search results corresponding to the complete search term, from the cached search results where the complete search term corresponds to one of the cached search results, at the client system.