An application programming interface - or API - is what allows different databases, software programs, and applications to communicate with each other effectively. They allow sites like Kayak.com to aggregate travel deals from around the web, Yelp to populate a map...