We actually just need the number of search results from google.
However, the Custom Search API is an overkill, and we are just limited for 100 searches per day.
We could resort to scraping but are worried that it might ban us...
Is there any way we could get what we need?
Thanks
Google have a AJAX Search API with this example Number of Search Results
Related
I have a basic "input search" using AJAX (angularJS, elasticsearch and lumen) and I need to implement the search history for each user in my application. I have some ideas on this:
Save the record from the backend every time you call the uri search(maybe this would increase the response time too much).
Save each search in the frontend and when changing the pages or after a few seconds, maybe a second, send this dataset to the backend.
What would be the best way to optimize this?
For searching anyways you are calling the method , then only you can store the search history, I guess first approach is good.
Saving it at frontend first and then again one extra call for saving those search text will not be good idea.
This is my thinking.
Youtube data API v3:
Youtube data api v3 does not return video list in the same order as youtube.com when searching with a specific query like "old hindi songs"
Why??
There can be many reasons for this. But this doesn't mean that you're doing something wrong. It's supposed to be this way.
For example if you are logged in in youtube, youtube will order the results taking in account videos you watched or liked, while the data api does not have access to this info. Also it may filter the results based on your region, while the api will filter by region only if specifically told so.
Try running your browser in incognito, don't log in into youtube, and perform from there a youtube search. The results should 90% match those received from api v3 if of course your request to the api has the order parameter set to relevance.
Based on the documentation it would appear that there is no way to have the phone numbers for a google place to be returned with the Place Search data ?
Which means that if I do a Place Search request I then need to make 20 more "Place Details" requests to get the phone number for each search result.
To mean this seems like a a fundamental piece of information I would expect back from the
"Place Search" request ?
Am I missing something or or is there no way or getting the phone numbers returned based on a search request ?
Any help would be much appreciated.
Thanks in advance
This is correct, there is no way to get the phone number of a business without issuing a Place Details request.
This is in place to encourage compliance with Google Maps APIs Terms of Service - Section 10.2 Restrictions on the Types of Applications that You are Permitted to Build with the Maps API(s): (b) No Business, Residential, or Telephone Listings Services.
You should only need to issue a Places Details request if a user action indicates that they would like more information about a Place.
I'm using places text search api to locate the stores of a brand in a city. But there are more than 60 stores for those brands in a city. But through google places api I'm getting only 60 results, which I can get using pagination method(page_token) .
Is it possible to access more than 60 results using google places api.
API::
First request :https://maps.googleapis.com/maps/api/place/textsearch/json?query=pizza+hut+in+bangalore&sensor=true&key=
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.
https://issuetracker.google.com/issues/35826799
It is not possible to access more than 60 results. If you think this would be a useful feature, please submit a Places API - Feature Request.
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
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.
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)