Yep that's OpenStreetMap! You could use Pelias for geocoding, OSM for the data. Why not offer for users to add the business to OSM if it doesn't exist?
I think Foursquare also has a directory, I'm not sure what their costs are though (and closed of course).
If I look at university nodes that have a website in France I find 241 unique values which represents less than 10% of the total amount.
Query:
SELECT (count(DISTINCT ?school) AS ?count)
WHERE
{
# find instances of subclasses of university Q3918 (use Q38723 for higher education institution)
?school wdt:P31/wdt:P279* wd:Q3918 .
# in France
?school wdt:P17 wd:Q142 .
}In Wikidata, I can currently get 563 results for institutes of higher education in France with website information: https://query.wikidata.org/#SELECT%20DISTINCT%20%3Fschool%20...
EDIT: Applied the fix by yorwba to get more results.
Modifying your query, I get 563 results: https://query.wikidata.org/#SELECT%20DISTINCT%20%3Fschool%20...
Conclusion: it depends on how you count.
This makes OSM data a non-starter in most serious business use cases.