One of the problems I've been pondering for a while is how to automatically arrange a set of words into the logical order.
"New Restaurant York," for instance -- should probably be written as "new york restaurant."
How do we get computers to know that? One idea is to just run each possible arrangement of words through Google (in quotes), and see which comes up with the most results. But that uses so much bandwidth that Google will shut down any IP address pretty quickly, if you need to test more than a handful of words.
However, Google Suggest provides the data we need, much more quickly and without formatting it into a messy html page.
http://www.google.com/complete/search?hl=en&js=true&qu=tom+dalton
I wonder how closely they're watching this link for traffic surges. They've got to allow more queries on that address than the main Google pages. It's an interesting option, anyway.
I still think the best approach, though, is to spider the net and make my own database to work from. And there are so many other cool things that I could do with that data.