Mashups are web applications that expedite software development by reusing existing resources through integrating multiple application programming interfaces (APIs). Recommending the appropriate APIs plays a critical role in assisting developers in building such web applications easily and efficiently. The proliferation of publicly available APIs on the Internet has inspired the community to adopt various models to accomplish the recommendation task. Until present, considerable efforts have been made to recommend the optimal set of APIs, delivering fruitful results and achieving varying recommendation performance. This paper presents a timely review on the topic of API recommendations for mashup creation. Specifically, we investigate and compare not only traditional data mining approaches and recommendation techniques but also more recent approaches based on network representation learning and deep learning techniques. By analyzing the merits and pitfalls of existing approaches, we pinpoint a few promising directions to address the remaining challenges in the current research. This survey provides a timely comprehensive review of the API recommendation research and could be a useful reference for relevant researchers and practitioners.