When slinging code, by all means assert instead of assuming.
When dealing with customers / bosses as in the example provided, try to agree to build the simplest thing that can possible work.
i.e.: scrape google and don't build a distributed architecture just yet.
Maybe that's all your boss needs, just ask for some feedback and mention that results would probably be better if the app had a distributed architecture and that you're not sure if this is in line with Google's TOS.
Let him take responsibility for wether or not to invest extra time / money in these issues.
disclaimer: obviously there are certain aspects that you would be unwise to ignore, such as securing your app etc. But feature wise, building something small first is awesome.