API Information flow

What are APIs? How are they shaping our online experiences?

Ever logged into a mobile app using your Facebook credentials? Ever watched a YouTube video on your favorite news website? Ever shopped online and paid with PayPal? If you have, then you have already been served by an API.

The acronym API stands for Application Programming Interface. They are a set of rules through which different software applications communicate with each other to exchange information, access services, and share infrastructure.

Let’s look at a simple example to understand this better. Assume you are at a coffee shop. You look at the menu and place your order with the barista. She punches in your order, validates your purchase by collecting payment, and then gives you your coffee.

This process of ordering coffee is similar to the how APIs work. The coffee menu is the API (provides pre-specified instructions on what you can order), the barista whom you call upon to place your order is the end-point (the interaction point from where you make the requests / API calls), your payment is your authentication (a way for the barista to authenticate you as a legitimate customer and accept your order request). The coffee shop which acts upon this request and returns the coffee is the backend (the system you called upon to provide you a specific service / information).

This is similar to how APIs work. You ask for something in a specific format at a specific location, you authenticate your request with your token/key, and you get something in return.

Evolution of APIs

APIs have been around ever since the first computers. A simple task such as copying and pasting text between different software applications on our computers is made possible due to an API. While APIs in the past were used to make software interoperable, APIs (web APIs) today are being used to grow businesses, create platforms, and develop new products that enhance our experiences with using technology.

Companies such as Salesforce, Amazon, and eBay were some of the first adopters of web APIs in the early 2000s. These companies used APIs to grow different parts of their business and ushered in a new era of collaboration both, internally within the companies and externally with partners and customers.

Around 2006, Facebook, Google (Maps) and Twitter launched their APIs. The millions of users of these services and the possibilities around integrating some of the social features (sharing, liking, favoriting etc) within their websites/app made these APIs hugely popular among the developer community. This is when API adoption and usage in the developer community skyrocketed.

Next came companies whose entire business model was 100% built on the back of APIs. Twilio, for example, started providing communication (voice/text) infrastructure to its customers entirely via web APIs, going head on with the incumbent telecom companies.

Our move to the “cloud” and the evolution of new business models such as SaaS, PaaS, IaaS and BaaS has been greatly facilitated by the development and use of web APIs to deliver services, exchange information, and share infrastructure over the cloud.

Why are APIs becoming popular?

Web API development and usage are increasing. Some of the most widely used APIs as per Programmable Web are the ones from Facebook, Google Maps, Twitter, YouTube, Amazon Product Services, LinkedIn and so on.

Some of the reasons for wide adoption of APIs are

< a > User expectations and experiences: As users of technology we seek instant gratification, extreme convenience, and high reliability when using any web or mobile product. We want to be able to accomplish multiple tasks and expect interoperability across the services and products we use. APIs are the tools that enable such interactions, and open up a range of possibilities to deliver new, seamless user experiences across web and mobile apps.

For example, you are on a news website and you want to share an article on Twitter. You want to do this as easily as possible — ideally directly from the news website. The Twitter API makes this possible by allowing the news website to tweet on your behalf. Without the Twitter API you would have had to navigate away from the website > go to the Twitter website > type in your tweet > then finally hit share. Many more steps and less likely that you would do it unless you really cared about the article.

// But does it really matter if you can’t tweet from the website you are on?
Without the Twitter API integration the website, potentially, would lose out on driving new users to it site that could potentially come from reading your tweet on Twitter. The lesser the page views, the lesser the website can make from advertisements impacting its revenue. On the other hand from Twitter’s perspective — one less tweet from you, lesser engagement between you and your followers (no retweets, no favoriting), lesser interesting things to see on your Twitter feed, lesser reasons to use Twitter frequently. See how it goes?

< b > Mobile devices proliferation: We are increasingly accessing the internet and consuming content via multiple mobile devices (smartphones, tablets, wearables, fitness bands). With mobile device proliferation comes device fragmentation. Developers have to ensure that their product / service is accessible via various combinations of mobile platforms, operating systems, software versions and so on.

Usually, all these devices access/talk to the same backend (think of the coffee shop example) but speak different languages. APIs help in translating those disparate languages into a single common language that is understood by the backend these devices are trying to access. This not only ensures a seamless and consistent user experience across devices but also is much easier in building and maintaining the backend. Further, being accessible via different devices potentially allows developers to reach a wider audience.

The greater the growth in mobile devices and device types, the more pronounced the need of having APIs to access your services over the web.

< c > Platform aspirations: Apart from providing a means to access your product / service in a seamless manner, APIs do have a larger strategic objective for most companies. Many companies aspire to become platforms and provide developers with the infrastructure, tools or resources to build new products / services upon.

Most of the companies discussed above started as a single product company that gradually evolved into platforms. Platforms that catered to developers, delivered their services in modular chunks, enabled new partnerships, and ultimately drove innovation that benefitted end-users. They achieved this by opening up their services and data to others through APIs and other tools.

By moving towards a platform they were able to expand their services beyond their standard product offerings, build an ecosystem of developers, deepen their strategic positioning within their industry, and deliver value to users in ways never thought possible.

Benefits of APIs

There are two parties on either side of the Web API — the Providers who create the API; and Consumers who use the API.

For Providers

< a > Accelerating growth: One way to accelerating user growth of your product is to make your data or product features available to the developer community through an API. This should create a third party developer ecosystem and will lead to products being built on top of your core offerings. Those applications will bring in new users, increase platform usage, and bring in more data on your customers and the ways in which they engage with your service.

Dropbox for instance, which initially focused on user growth solely via customer referrals and strategic partnerships with OEMs recently introduced its Sync API followed by the Datastores API in a bid to reach out to developers. By investing in building out its API, Dropbox hopes to use the developer community to contribute to its next phase of user growth and possibly build out applications for the enterprise consumers.

< b > New revenue channels: Companies can use APIs to generate new revenue channels. They can charge for access to their API. This can either be on the number of times it is used (API calls made), per transaction or tier-based usage. APIs can also forge new partnerships and collaborations that bring in more money. Expedia, for instance, through its EAN API, generates ~$2 billion by making its data/services available across a network of 10,000 affiliate sites.

< c > Product innovation: APIs foster innovation. By opening up you product offerings to the developer community and providing them the right set of tools will create new products and new ways in which your service will be used. Your can potentially outsource innovation or complement your in-house efforts — Innovation from developers on new ways to use your product or maybe even new customer segments that you previously did not focus on. The best part of it all is that you will have access to all the data around your API usage — based on which you can inform your product development and roadmap.

< d > Meeting customer needs: No matter how planned and meticulous your product roadmap is, you will never be able to satisfy all customers. There will be certain customers who will want a specific feature built in a certain way. This is especially true for enterprise customers, who can be very demanding, due to the way their workflow is designed. Instead of strapping on ad-hoc features onto your product, having an API would let you fulfill those customers’ needs. It will make your product / service more flexible for other external parties thereby keeping everyone happy — your dev team, your sales team, and most importantly your customers.

For Consumers

Each year most big tech companies have developer focused conferences in which they market their new tools and offering to developers, hoping to get more applications built atop their platforms. Few of the notable annual developer conferences are Apple’s WWDC, Google’s I/O, and Facebook’s F8.

The few reasons why developers may use APIs are

< a > Gaining an audience: Implementing APIs developed by large platforms with millions of users will potentially allow developers to boost usage of their own service/product. Building a product/service on top of a well known and widely used platform provides developers access to a ready-made audience of engaged users. Developers get the opportunity to build for this audience with the hope that they can get those folks to become active users of their product/service.< A >

< b > Faster time to market: APIs allow developers to ‘borrow’ the data and/or functionality from the software built and maintained by others, albeit with certain restrictions. Developers want to build their products as quickly and as efficiently as possible. For example, for adding a payment feature within their app developers can incorporate the APIs provided by widely used payment platforms such as PayPal, Stripe, Venmo rather than invest time and resources to build their own payment feature.

< c > Filling in the gaps: Most developers want to spend time building core features that are unique to their web/mobile app. Features that differentiate their offering from the others in the market. However, only having those core features may not be adequate to cover all aspects of the user needs — you need the whole package to come together. Fortunately, developers can borrow the missing features from other companies and ensure that the user experience isn’t broken. For example, the signup / login process can be entirely managed through any of the widely used social APIs.

One thing to be careful about though is building your core product value proposition is based off an external API. If the providers decides to change it or drop support for its API — that would drastically jeopardize your business model. For example, Netflix launched its public API for developers six years ago. It allowed users of third party apps to check the availability of Netflix titles and even reserve DVDs among others things, thereby driving usage of its platform. Last December, Netflix announced that it would be retiring its public API program. Most developers who had built their applications on the public API would have their applications rendered redundant, overnight.

While APIs reduce development time and allow benefitting from the code / data / functionality built by others, developers need to be careful in choosing which API to integrate into their products.

APIs >_ {Going Forward}

API usage is rising fast and is only poised to go up further. APIs enable sharing resources, infrastructure, and data and will drive the innovations of the future.

Companies should evaluate productizing some of their offerings via APIs and intelligently craft their API strategy to grow their business and gain competitive advantage. Treat APIs as a separate product that is developed, managed and marketed in the same manner as any other product is. That would open up exciting business possibilities around product innovation, new customer segments, and partnerships. Most importantly, companies would be able to deliver consistent experiences to their customers across all channels.

The possibilities are endless and we have just begun!

Disclaimer: The views and opinions expressed above are my personal views and not necessarily of my employer.