Existing approaches to recommend services using natural language queries are supervised or unsupervised. Supervised approaches rely on a dataset with natural language queries annotated with categorizing labels. As the annotation process is manual and requires deep domain knowledge, these approaches are not readily applicable on new datasets. On the other hand, unsupervised approaches overcome the limitation. To date, unsupervised approaches are primarily based on matching keywords, entity relationships, topics and clusters. Keywords and entity relationships ignore the semantic similarity between a query and services. Topics and clusters capture the semantic similarity, but rely on mashups that explicitly capture relationships between services. Again, for new services, the information are not readily available. We propose NL2API, a framework that relies solely on service descriptions for recommending services. NL2API has the benefit of being immediately applicable as a bootstrap recommender for new datasets. To capture relationships among services, NL2API provides different approaches to construct communities where a community represents an abstraction over a group of services. Based on the communities and users' queries, NL2API applies a query matching approach to recommend top-k services. We evaluate NL2API on datasets collected from Programmable Web and API Harmony. Our evaluation shows that for sizable datasets such as Programmable Web NL2API outperforms baseline approaches.