问题
Is there any official documentation on the Google Suggest API?
All my searches for the Google suggest API show pages with either outdated info or non-working scripts.
For example, at google.com, as soon as you type in "app", Google suggests Apple, Applebees, etc.
回答1:
As you can imagine, it's changed.
The newer URL is now http://clients1.google.com/complete/search?hl=en&output=toolbar&q=YOURSEARCHTERM
Or even more recent: http://suggestqueries.google.com/complete/search?output=toolbar&hl=en&q=YOURSEARCHTERM
回答2:
Summary of working examples:
From this question working example:
http://suggestqueries.google.com/complete/search?output=toolbar&hl=en&q=theory
From this question working example:
http://suggestqueries.google.com/complete/search?output=firefox&q=theory
From mhawksey comment above working example:
http://google.com/complete/search?client=chrome&q=theory
Here client=chrome
can be changed to other browser client. For example for Firefox it will look like:
http://google.com/complete/search?client=firefox&q=theory
From mahoor13 comment above working example:
google.com/complete/search?output=toolbar&q=theory
From dhiraj-pandey answer "if you want country specific suggests, you need to add &gl= in the url". That only works with links for toolbar!
So for example working country specific example for India will be:
google.com/complete/search?output=toolbar&q=theory&gl=in
To separate words use %20
or +
between them. For example:
http://suggestqueries.google.com/complete/search?output=toolbar&hl=en&q=a%20mykeyword
or
http://suggestqueries.google.com/complete/search?output=toolbar&hl=en&q=a+mykeyword
Also from here it possible to get two suggestions with YQL (first sugestion chuck norris
, second steven seagal
):
select * from xml where url in (
‘http://google.com/complete/search?output=toolbar&q=chuck+norris’,
‘http://google.com/complete/search?output=toolbar&q=steven+seagal’
)
Using above code gives:
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20xml%20where%20url%20in%20%28%27http%3A%2F%2Fgoogle.com%2Fcomplete%2Fsearch%3Foutput%3Dtoolbar%26q%3Dchuck%2Bnorris%27%2C%27http%3A%2F%2Fgoogle.com%2Fcomplete%2Fsearch%3Foutput%3Dtoolbar%26q%3Dsteven%2Bseagal%27%29&format=xml&diagnostics=false
Some info from google about suggestions: http://www.google.com/support/enterprise/static/gsa/docs/admin/70/gsa_doc_set/xml_reference/query_suggestion.html
回答3:
Try http://google.com/complete/search?output=json&q=YOURSEARCHEDTERM
or for XML output http://google.com/complete/search?output=toolbar&q=YOURSEARCHEDTERM
http://answers.oreilly.com/topic/1526-how-to-use-the-google-suggest-api-to-come-up-with-topics-for-answers/
I also found very interensting tool which use the Google Search API and it is based on Python and Flask http://ubersuggest.org
回答4:
As @Harvest316 said, you can use those urls to get suggestions, but if you want country specific suggests, you need to add &gl= in the url. For example, if I search for India, it will be
http://suggestqueries.google.com/complete/search?output=toolbar&hl=en&q=YOURSEARCHTERM&gl=in
回答5:
Hi I'm the author of Übersuggest the tool mentioned by JonnyPea. There is no official Google Suggest API: the URL I and other people use is just something we have found hacking around Google. Here's a couple of advice:
- Have a look at my application source code on Bitbucket (beware: I'm an hobbyist programmer so my code cold be improved a lot)
- Do not call the API thousands times from the same IP or you will be banned.
[UPDATE]
Sorry the source code is no more available
回答6:
There is a working API that pulls data from Google Suggest (along with YouTube, Bing and App Store): http://keywordtool.io/api
Using this API you wouldn't need to worry about the number of requests from the same IP etc.
Google doesn't have an official API to share autocomplete data, moreover it often hides keywords that appear in Google suggest from Google Keyword Planner.
Note this API is by paid subscription and starts at $280 / month.
来源:https://stackoverflow.com/questions/5102878/where-is-the-documentation-for-the-google-suggest-api