There are times when a site simply does not allow spidering and retrieval of their data for use on other sites. Craigslist is an example. You are not allowed to store their API data and create other searches.
Ways around this have been to just ignore their directive (and later be shut down), to use Google to search the content (and have old results), or to use multiple windows to do the multi-city searches many people want.
I created Craigsy for myself, so that I could search multiple craigslist areas all at once. And the solution I came up with was to retrieve the APIs with Javascript, and then sort the results within the browser for display to the user. So the Craigslist results are live, and you can search multiple cities without breaking their terms.
Javascript can't do what needs to be done directly, the data has to be requested using the Google Ajax Feed API. So Google actually retrieves the data and passes it along to the page on the user's computer, where the sorting is done and display is completed.
I think similar techniques could work to do local price comparisons or other API-limited activities. Almost no one will block a Google user agent, so you can get the data whether they specifically want you to or not.