1. A computer-implemented method for locating a user based on aggregated messages sent over a communication network from known locations, comprising: aggregating a plurality of messages, each message comprising content and a geotag with location from which the message was sent; grouping messages according to the locations from which the messages were sent; receiving query content from a user at an unknown location; estimating the unknown location by comparing at least a portion of the query content to the content of the aggregated messages; and outputting the estimated location.