Scrapebox can scrape that generally. I mean scraping google with scrapebox is easy.
Taking the resulting urls and getting phone numbers is easy, there is an easy module for that and I have videos and tutorials.
Getting the business name, that could be more challenging.
If its available on yellow pages then the yellow pages plugin for scrapebox is the easiest push button solution.
If you need the business name otherwise not from yellow pages, you could use the custom data scraper that is part of the email scraper plugin. If your scraping some sort of directory, like yelp or something that will generally work, if your scraping a bunch of random websites, success will vary depending on how you set it up.
do you just have a list of niches or keyowrds or what is your starting point?
and what is your geographic region your looking to get this data from, like France, USA, Canada, etc..