1. A method, comprising: scanning, by a computer, a set of messages of a user sent to or received from a plurality of persons; extracting information from the messages to form search queries; communicating, over a network, with a plurality of servers in an automated way to extract data, the extracting comprising querying the servers using the search queries; generating a plurality of profiles for the persons, each profile of the plurality of profiles comprising a portion of the extracted data, a name of a respective person from one of the messages, and at least one of a social network profile name and a link to a social network profile for the respective person; in response to an incomplete input in an input field, identifying a set of persons in the plurality of profiles that match the incomplete input; and presenting to the user one or more suggestions to complete the incomplete input based on the set of persons.