In "10 Reasons Why You Need to Build an API", Shaun gives us his list of goodness you get from APIs
APIs obscure the storage format and the retreival process.
- Increase brand awareness. You start to see your brand outside of its normal home and this gets noticed. eg GoogleMaps, Flickr. It also has the dual benefit of empowering users who then readily talk/blog about how they did it.
- Allows users to own their own data - builds goodwill.
- Builds goodwill for developers - Flickr use their own API internally to save their teams time.
- Good excuse for a community.
- Improves code quality - you have to keep the API in mind while developing and it clarifies the mental model of your application.
- Simplifies the internal re-use of data (see 3.)
- Allows others to extend the functionality of your application - things you don't have time to develop eg SVG charting in Mint.
- Allows alternate input mechanisms - eg desktop input.
- Unanticipated applications of your data eg Chicago Crime mashup.
- Turns your application into a platform on which other things depend.