6.3 Why Expose an API?

Amazon made a radical break from conventional business thinking when they released their Web Services API in July of 2002. Instead of tightly controlling their product database?one of their biggest assets?they decided to open a direct gateway allowing developers to tinker and experiment. Not only does this direct access make all of their product information available for other applications, it's completely free for anyone to use?in fact, with the Amazon Associates program, they'll pay you to use it. It sounds counterintuitive on the surface; after all, with this sort of access, someone could just duplicate most of Amazon.com's functionality with a different look and feel. They could even host it on their own web site! Call it "syndicated e-commerce." To fully understand the API, it's important to understand why Amazon released it in the first place.

As Amazon grew, they became one of the largest places to shop on the Web. They also became one of the largest sources of information about products on the Web. Their product information, customer reviews, sales rank information, and many other supporting bits of data became valuable in its own right. Developers started screen-scraping this information to build their own applications. Most large sites like Amazon frown on screen scraping because it uses valuable server resources in ways they didn't intend. But instead of fighting these developers and the potential audience they bring along with them, Amazon helped them out by speaking their language.

Attracting and encouraging developers helps Amazon in several ways. It lets people outside the company build prototypes and alternative interfaces that Amazon may someday want to use. In effect, Amazon has outsourced interface research and development to people who are willing to work for free, posing little risk to the company. Also, as these developers come to rely on Amazon Web Services for their applications, it locks them into the Amazon platform. Because people will be using these applications, it furthers Amazon's brand and goodwill, as each application essentially becomes an advertisement for Amazon. Finally, Amazon is able to monitor how people use their data. If outside developers are concentrating on a particular section of the database, Amazon knows there's a demand and can fine-tune their business accordingly.