Im using the truecaller app on my Android Device. It comes for free on the playstore. Its a very innovative app as it lets you find out who calls you.
If you ever get a phone call from an unknown number and you have an internet connection active, it will tell you whos calling within seconds. This gives you the opportunity to accept or decline that call. Another interesting feature of Truecaller app is the well mantained spam list. This helps you block the numbers which usually have advertisements. Its a very wise feature of this app.
Theres another feature which I found quite interesting. As you copy any piece of text on your phone, if it contains a mobile number. It will activate truecaller and let you find out whos number it is.
Many people dont use Truecaller as they claim the app is causing the invasion of privacy by reading their contacts and often even messages.