With the growth and emergence of the Internet of Things (IoT) and API economy, the number of APIs and web services increased rapidly over the web. Web services play a significant role in today’s business computing environment for the development of distributed applications across different networks. The process of finding the right web services that meet users’ functional and nonfunctional requirements is crucial. Several web service discovery approaches have been proposed to facilitate the discovery process. These approaches are different, operate in multiple layers, and use various techniques to meet users’ requirements. In this paper, we present a survey of different web service discovery approaches. The survey includes context-Aware, user-side, clustering, and recommender-based web service discovery approaches.