In this paper, we emphasize that choice sets generated by a search process have two properties: first, they are limited; second, they are endogenous to preferences. Both factors lead to biased estimates in a static demand framework that takes choice sets as given. To correct for this bias, we estimate a structural model of search for differentiated products, using a unique dataset of consumer online search for hotels. Within a nested logit utility model, we show that the mean utility function and the search cost distribution of a representative consumer are non-parametrically identified, given our data. Using our model's estimates, we quantify both sources of bias: they lead to overestimation of price elasticity by a factor of five and four, respectively. The median search cost is about 38 dollars per 15 hotels; we also present some evidence on multi-modality of search cost distribution.