4

I'm trying to use Google Places API for a business locator app, but am having trouble creating an exhaustive database of business.

1.The API call only returns 20 results back. 2.The "type" restriction (e.g. type=restaurant) does not pick up all businesses by type in a given zip. I could use "keyword" but not all restaurants have restaurant in their name, and not all spas have "spa" in their name. 3. Each call produces the same set of results from day to day, and with only 20 returns per call, how am I to get a more exhaustive database of businesses?

I can try to get around the above three constraints by looping through a very well degraded search of businesses: say by zip code, some list of keywords, category type. But I still won't get close to picking up the 50 million or so businesses in google places.

In fact, even when I make a call for restaurants and bars in my own neighborhood, I don't pick up popular places down the block from me.

How is the API usable for an app that locates places then? Any suggestions on how to create a more exhaustive search?

Thanks, Nad

user1259823
  • 191
  • 2
  • 6
  • Can you provide an example Places API Search request where it is not returning the desired results. – Chris Green Mar 11 '12 at 22:55
  • you can fetch next result with the help of next_page_token in your API call response with the help of that token you can again fetch next 20 results and so on... but limitation is max results you can fetch. check out http://stackoverflow.com/q/12024394/582571 so you will get more idea – rajpara Aug 25 '12 at 05:39

2 Answers2

0

I'm not able to answer your question regarding Google Places API.

But for your requirements ('business locator app', 'I don't pick up popular places down the block from me') I suggest you try Yelp Search API:

Yelp's API program enables you to access trusted Yelp information in real time, such as business listing info, overall business ratings and review counts, deals and recent review excerpts.

Yelp is a popular review website with a capable API and you may test the quality of database and the devoted user base they have at Yelp homepage.

Note:

  • They keep some data for themselves and do not return everything in response.
  • The (free) dev account has a limit of 100 calls per 24 hours.
0

I know I'm late but maybe it helps someone these days.

By default, each Nearby Search or Text Search returns up to 20 establishment results per query; however, each search can return as many as 60 results, split across three pages.

You need to use the field nextPageToken that you will receive on the first search to get the next page.

https://developers.google.com/places/web-service/search

An issue in stack overflow says:

There is no way to get more than 60 results in Places API. Some people tried to file a feature request in Google issue tracker, but Google rejected it with the following comment Unfortunately Places API is not in a position to return more than 60 results. Besides technical reasons (latency, among others) returning more than 60 results would make the API be more like a database or general-purpose search engine. We'd rather improve search quality so that users don't need to go so far down a long list of results.

google places api more than 60 results

I faced the same difficulties that you did and decided to use the Yelp API instead. It is free, very complete and returns up to 1000 results. You should however check the terms of service before doing anything. It does not provide the website of the business (only the Yelp website link).

https://www.yelp.com/developers/documentation/v3/business_search

Other options I investigated at that time:

  • Foursquare ventures. (It was very expensive, and only returned up to around 100 results)
  • Here places API
  • Factual Places (I don't think this one is an API)
  • Sygic Travel API (Specific for touristical spots)
  • Planet.osm (OpenStreetMap)
Leticia Esperon
  • 2,499
  • 1
  • 18
  • 40