A computer implemented method, comprising: scanning, by a computer, a set of messages of a user to identify a plurality of addresses , the set of messages including a first message; identifying, by the computer, names of persons corresponding to the addresses to generate profiles for the persons, the profiles including a first profile ; extracting information from the messages to form search queries, the extracted information comprising a domain obtained from an address of the first message, the domain corresponding to a first website, the search queries including a first query, and the first query comprising search criteria including the domain; communicating, over a network, with a plurality of servers in an automated way to extract data from the servers, the extracting data comprising querying the servers using the search queries, the extracted data comprising first data obtained from the first website; storing a respective portion of the data extracted from the servers in each profile of the profiles, the storing comprising storing the first data in the first profile; computing, by the computer, scores of the addresses to determine relevancy of the addresses to the user; in response to an incomplete input in an address field, identifying a set of persons in the profiles that match the incomplete input; sorting the set of persons based at least in part on the scores; presenting one or more suggestions to complete the incomplete input based on the set of persons; and in response to the user selecting a suggestion from the one or more suggestions, replacing, by the computer, the incomplete input with an address corresponding to the suggestion selected by the user. scanning, by a computer, a set of messages of a user to identify a plurality of addresses , the set of messages including a first message; identifying, by the computer, names of persons corresponding to the addresses to generate profiles for the persons, the profiles including a first profile ; extracting information from the messages to form search queries, the extracted information comprising a domain obtained from an address of the first message, the domain corresponding to a first website, the search queries including a first query, and the first query comprising search criteria including the domain; communicating, over a network, with a plurality of servers in an automated way to extract data from the servers, the extracting data comprising querying the servers using the search queries, the extracted data comprising first data obtained from the first website; storing a respective portion of the data extracted from the servers in each profile of the profiles, the storing comprising storing the first data in the first profile; computing, by the computer, scores of the addresses to determine relevancy of the addresses to the user; in response to an incomplete input in an address field, identifying a set of persons in the profiles that match the incomplete input; sorting the set of persons based at least in part on the scores; presenting one or more suggestions to complete the incomplete input based on the set of persons; and in response to the user selecting a suggestion from the one or more suggestions, replacing, by the computer, the incomplete input with an address corresponding to the suggestion selected by the user. <EOS>