In an effort to create a local micro-search for a client, I used the Yelp API to get listings, and the Google Maps API to display them. Using the demo code, the results were almost miraculous. Yelp does a great job of returning relevant results, and blending them with Google Maps was a breeze. Yet something felt off about the whole operation.
Searches on the Yelp homepage were different than via the API. It took a bit of sleuthing, but I finally discovered the reason:
Yelp API doesn’t return unreviewed listings.
You heard that right. A search on the homepage will wield vastly different results than a search via the API because listings without any reviews don’t show up. This has something of a deleterious effect on searches which are less than urban.
For instance, when I search for “Hospitals” in a small town on the homepage, I get a big pile of them. When I search via the API, I get BBQ joints. That’s right. Since the hospitals have no reviews, and the BBQ reviewers used phrases like “The ribs may land you in the hospital, but they sure are delicious”, these show up in a search for hospitals.
It is perhaps darkly comic to consider the man having a heart attack and using Yelp to find a hospital, only to be presented with a list of BBQ restaurants. However, if you’re dumb enough to use Yelp to find a hospital, well, there you go.
So now I don’t use the Yelp API, and Google wins again.