We present the principled design of CRAWLING: a CRowdsourcing Algorithm on WheeLs for smart parkING. CRAWLING is an in-car service for the routing of connected cars. Specifically, cars equipped with our service are able to crowdsource data from third-parties, including other cars, pedestrians, smart sensors and social media, in order to fulfill a given routing task. CRAWLING relies on a solid control-theoretical formulation and the routes it computes are the solution of an optimal data-driven control problem where cars maximize a reward capturing environmental conditions while tracking some desired behavior. A key feature of our service is that it allows to consider stochastic behaviors, while taking into account streams of heterogeneous data. We propose a stand-alone, general-purpose, architecture of CRAWLING and we show its effectiveness on a set of scenarios aimed at illustrating all the key features of our service. Simulations show that, when cars are equipped with CRAWLING, the service effectively orchestrates the vehicles, making them able to react online to road conditions, minimizing their cost functions. The architecture implementing our service is openly available and modular with the supporting code enabling researchers to build on CRAWLING and to replicate the numerical results.