I think a development team needs to ask itself if the api is stable and has a stable team behind it. Example Java libraries. If so, use it. If it has a company like Google or a small open source team, then protect your self by isolating the use of the api. Create a library that maps from your own internal api to the outside api. Even if it is a direct one-to-one mapping, you have only one place to make changes if the outside api becomes an orphan.