APIs came in to existence to satisfy a demand for access to valuable content, data and resources, and the more APis that are developed, the more the appetite for API consumption has grown. APIs enable website, web and mobile applications to build applications, using resources that were completely out of reach in even the recent past. Some API resources, like a simple city look-up by postal code, might be simple enough that a developer could recreate, but other resources such as global satellite imagery is something the average developer does not have the resources, or the time to create—the more API resources available, the cooler the apps we build, and the more we hunger for valuable API resources grows.
API consumers rarely want to use an API, just to learn about APIs, they have a need, a problem they need to solve. They want to provide a feature in their website, or mobile application. Often times people just want two systems to talk to each other, or be able to analyze and visualize information in a particular way, to accomplish a business or personal objective.
When helping folks understand what is possible with APIs, I always ask about their motivations for doing APIs. APIs can be a lot of different things to a lot of different people, and helping make sure API conversations are relevant to your business, career, and personal interests helps make it something you'll keep coming back to learn more about.
The API savvy technologists are aware of the vast wealth of APis available today, and know to Google for the API they need, visit API directories like ProgrammableWeb or Mashape, and emerging API search engines like APIs.io. Even with the handful of API discovery solutions out there, sometimes the best way to find an API is by using a search engine, and just relying on the web to find machine readable versions of the data and content you are needing.
Before you can unlock the value of an API, you need to understand how common authentication patterns work for any API. Some API providers use basic authentication, which is baked into HTTP, while others use application or developer keys to be able to talk with APIs. oAuth is fast becoming default for API providers who serve up private users information, allowing platforms to manage identity and access in a way that gives control over to end-users of applications built on top of APIs. Many providers are also using SSL as default for all API communication, protecting API consumption.
Actual integration between applications and APIs, is ultimately up to API consumers, but API providers and a growing number of API tools and services, are making API integrations easier, and often automated. Most web API resources can be accessed via a simple URL, something anyone, with a basic amount of web knowledge, can integrate API resources into their world.
The primary motivation for API integration is to provide access to data, content, and other resources available in online Software as a Service (SaaS) platforms. Services like Evernote for notes, Pinboard for links, Flickr for photos, and Youtube for videos, all use APIs to enable integration with other applications, as well as basic data portability for software users.
Learning about the APIs that exist for the services you already depend on is a great way to apply APIs in a meaningful way, that can make an impact on how you work and do business. If you are using the mobile app of any online platform, there is a good chance they have an API that you can also put to use to better make sense of the data, content, images, video, and other information you depend on online.
The popularity of platforms like Twitter and Facebook owe a great deal of their buzz to the fact that there were embeddable buttons, badges, and widgets, allowing for the sharing, syndication, and engagement with their platform using API driven, embeddable tools. The ability to copy and paste a little bit of code, maybe configure a few settings, and be able to publish data, content, media, and other digital resources is the cornerstone of any API integration.
Webhooks enable API platforms to push data, and notify any other URL of a change or event that has occurred via the platform. Webhooks are how API platforms become a two way street, allowing API consumers to make APIs work for them, and reduce the overhead of application usage when it comes to polling API resources. Webhooks are an API integrators best friend, and always look for them on platforms before considering which resource is best for your application or use case.
Everything on the Internet today is guided buy the terms of service of web and mobile applications, and their underlying API platforms. TOS dictate how developers can use APIs, and the end-users can take advantage of services on the platform. Nobody reads TOS before they sign up for online services, but if you are looking to build a business on top of any API, you should read the TOS to see if it is something that will support what you are looking to do.
There are over thousands of public APIs available on the open Internet, and if you are building applications, you are most likely consuming APIs, as well as designing, deploying, and managing your own APIs. The best API providers, consume their own APIs, as well as the APIs of other providers. To truly understand what makes a good API, you should be consuming, as well as providing APIs.
We are moving well beyond the old days of API mashups, or even applications using just a handful of APis. Applications are depending on entire stack of APIs, employing 10s or 100s of API resources to deliver applications across multiple web and mobile channels. Consuming APIs aren't just for developers, and about building applications, APIs are fueling many new trends that allow even non-developers to consume APIs and put them to use in documents, spreadsheets, and other common tools we depend on everyday for our personal and professional lives.