Fork me on GitHub

What Is An API?

An API -- Application Programming Interface -- at its most basic level, allows your product or service to talk to other products or services. In this way, an API allows you to open up data and functionality to other developers, to other businesses or even between departments and locations within your company. It is increasingly the way in which companies exchange data, services and complex resources, both internally, externally with partners, and openly with the public.

What Are APIs Used For?

APIs are launched primarily to give partners that are outside the company firewall, access to internal data and resources. But recently, APIs are also being used by more of the general public, including non-developers. As APIs' ease-of-use and popularity increases -- and as APIs demonstrate their value and deliver efficiencies -- many companies have begun to consume their own APIs to build internal systems, websites, and mobile apps using the same APIs that they make available to third-party developers and to the public.

APIs are a single endpoint, for programmatic access to a resource, that can be secured and tailored for different uses. APIs originally were used to enable integration with distributed sites and systems by companies like Salesforce, Amazon and Ebay, but newer companies quickly realized APIs would enable new types of relationships, making the web much more social.

Alongside this evolution in API usage, one of the early pioneers Amazon, was working on a new approach to using APIs to deploy infrastructure, now known as Cloud Computing. These APIs have forever changed how we build applications, just in time for a new way to use applications via our mobile phones.

In 2013, the number one reason APIs are deployed, is to support mobile development. While APIs can be used for commerce, payments, social, cloud computing and much more, mobile phones and tablets are the biggest driving force for providing APIs and consuming them.

Why Do You Need An API?

An API is the cornerstone of what is widely seen as the next iteration of business development, where having a well-developed API is poised to be the way in which business relationship are established and maintained in a online, 24/7 digital economy. A decade ago, businesses were still working to understand the importance of having a website for doing business. Today, businesses are beginning to understand the similar importance in having an API.

Whether your API provides programmatic access to information that is already on your website like company directory or product catalog, providing secure access to trusted partners, an APIs is becoming essential for operating in current markets, and effectively competing.

You currently put products and services on the Internet for your human consumers to access in the form of websites and applications. APIs are the wholesale version of a web presence, allowing others to access and integrate your data and resources into their public or private sites and applications.

History of Modern Web APIs

APIs have been around since the 1980s, when they were used in hardware and software development. However, the history of the modern Web API is fairly short -- just a little over ten years. There are several pioneers of Web APIs, and while they didn't necessarily invent any of the technologies at play here, they did popularize their usage and establish some of the common practices.

First Mover

E-Commerce

Social

Cloud Computing

Mapping

Local

Many of these pioneers have shaped the way in which we develop, deploy, consume, and support APIs, sparking a lot of innovation within the API space in the last decade.

What Technology Goes Into An API?

APIs are driven by a set of specific technologies, making them easily understood by developers.  This type of focus means that APIs can work with any common programming language, with the most popular approach to delivering web APIs being REST, or REpresentational State Transfer.

REST takes advantage of the same Internet mechanisms that are used to view regular web pages, giving it many advantages, that can result in faster implementations and easier for developers to understand and use. REST APIs allow you to take data and functionality that may already be available on your website and make them available through a programmatic API, that both web and mobile applications can use. Then, instead of returning HTML to represent the information like a website would, an API returns data in one of two possible formats:

  • Extensible Markup Language (XML)
  • JavaScript Object Notation (JSON)

Developers can then take this data and use in web and mobile applications.  However XML and JSON are easily consumed by spreadsheets and other tools non-developers can use as well, making APIs accessible by potentially anyone. 

Easy access to all this data and resources is great, but sometimes we need to control access to APIs. There are two primary ways to secure an API by providing  authentication using:

  • Basic Auth
  • OAuth

REST with JSON has become the favorite of developers and API owners, because it is easier to both deploy and consume than other implementations. Even though REST + JSON is not a standard, it is seeing wide acceptance across the industry.

The technology that are commonly found in APIs was not designated by a single standards body or by a single company, it is based upon emulating the best practices of existing, successful providers over the last 13 years.

API Design

Designing APIs has evolved over the last decade and is becoming a highy skilled craft. APi design is about applying forward thinking about how an API will be used and evolve over time, API deployment and management experience, allof which can go a long way in avoiding common pitfalls and ultimately saving time, money and headache.

In the past, API design was something developers did, and with the emergence of new approaches to API definitions like Swagger and Mashery I/O Docs, and from service providers like Apiary.io, API design can truly be planned, designed and mocked up to find the most meaningful interfaces possible--before implementation.

Web APIs use URLs, but to find the most meaningful strategy, sensible uses of HTTP verbs like GET, POST, PUT and DELETE, requires deep consideration about how a resource will be manipulated via a URL, not just retrieved. Then also providing a robust set of parameters and default values that will help make an API intuitive to use.

API design is often done in the trenches of API operations, iterating and perfecting as an API iniative evolves. However with a growing base of API expertise and design tools many API craftsmen are spending time designing the perfect interface before even writing a line of code.

Quality API design is proving to to be one of the best ways to mitigate risk, and help cost effectively execute on an API initative, wile also delivering the most value to end users.

API Deployment

Deploying APIs is sitll something that can be very technical, requiring a healthy understanding of what an API is, how to construct a RESTful framework, and deploy the APIs underlying architecture. However with the growing demand for APIs and the potential for new service providers entering the space, we are seeing more tools and services available for assisting providers in deployment of web APIs in 2013.

When it comes to API deployment it is all about what resources you have. If you have technical talent within reach, that understands APIs and can custom design and deploy APIs--this is the route to take. However as many companies are finding, they have the need, but no the resources to actually execute on the designing and deployment of APIs.  

Existing Software Vendors
As the demand for APIs grows, the number of existing database and software vendors that are deploying API deployment tools and services are growing. Before looking externally for API deployment tools and services make sure and look at your existing software vendors. There is a good chance that you already have the capabilities for deploying APIs or could easily add-on functionality that will assist in the process, as part of your current systems.

Platform as a Service
Platform as a Service, also known as PaaS, has found success in delivering the resources developers are needing to deploy web and mobile applications. Having used APIs to grow their own platforms, they are quickly seeing the benefits of providing API deployment tools for their existing customers to deploy APIs. If you use a common PaaS provider, there are chances that you already have the ability to deploy web APIs as part of your offering.

API as a Service
Cloud providders are also emerging that assist companies in deploying APIs from common data source such as from MySQL, SQL Server, PostGreSQL, Oracle and even new sources such as NosQL or cloud computing databases. If your need to deploy APIs is centered around resources available within existing data sources, take a ook at the range of existing services that are emerging to help companies deploy APIs.

Custom Deployment
Many companies will opt for deploying their own custom API platforms. Even if your company has the resources available to design develop your own custom APIs, there are plenty of REST frameworks, oAuth servers and other open resources to help get the job done.  There is no reason to reinvent the wheel with the wealth of custom API deployment resources currently available.

In the last six years, the case has been made for APIs. API pioneers have laid the groundwork proving the value is there, and now it is time to refine and establish best practices of API deployment using common, open source frameworks and common patterns like REST, and Hypermedia. 

Good API design will make API deployment a sensible and efficient process. But even with deployment, the job isn't done and following well established practices for API management is next.

Essential Building Blocks for API Providers

After 13 years of web API history, a common set of building blocks that are essential to API adoption have emerged. The following elements have become common across top providers, as part of their developer portals and developer outreach efforts:

  • Overview / Landing Page
  • Getting Started
  • Documentation
  • Code Samples
  • Blog with RSS
  • Supported Forum
  • Frequently Asked Questions
  • Pricing and Rate Limits
  • Terms and Conditions
  • Self-Service Registration

API pioneers like Ebay, Salesforce, Flickr, Google and Twilio have established this common set of essential API building blocks through trial and error over the last decade.

These are not anything new, but very simple approaches to helping on-board developers and consumers of an API in the quickest way possible, while also building a platform that can support hundreds or thousands of consumers and support an active community around an API.

Some building blocks work best for some providers over others, but these ten building blocks can be considered essential to API deployment and management.

API Management

Each of the pioneering API providers have established their own approach to API management through trial and error. But with the help of API management providers like 3Scale, Apigee, Mashery, there is no shortage of API management services available on the market today for people looking to get into the game.

API management is not usally about a single API, but providing a portal where private, partner and public developers can access a wide variety of API resources to use in many different applications. Common building blocks have merged for delivering API resources to consumers, but exactly how you implement the technology and business operations of your API can be a significant amount of work.

Some API providers cobble together their API management using existing SaaS and PaaS or their existing hosting situation. They will bind disparate service like Google Groups, Wordpress and Github into a web of online resources intended to deliver an API portal on a budget.

Other companies use existing API management as a service providers like 3Scale or Apiphany. These companies bring the tools, resources and experience necessary to go from 0 to 60 in any API management campaign without reinventing the wheel, while also taking advantage of existing best practices.

API management has been well established in the last 3 years, if you have the resources to do yourself, at least take the time to understand what has been done to date, and do your homework on best practices of API management. If you do not have the experiece and resources make sure and talk to one of the many API management providers currently available. They can help.

API Monetization

Hopefully by the time you have put an API management plan in place, you already have a health business model in place, which should provide framework for you monetization goals.

Its not just about how you are going to generate revenue via your API, it is also about how you will keep your API in operation, and performing for consumers.

Not all APIs are created equal. The reasons for deploying an API can vary widely, but we are seeing some common patterns emerge.

Free
A popular way to provide access to an API, is by offering a free tier so that anyone can sign up, start using an API and understand the value an API delivers. This allows consumers to kick the tires, see if it will meet their needs before spending money. While free is a good option for many API monetization strategies, it is just one tool in the toolbox of API providers, and by itself, or without the proper upsell to higher levels can prove problematic.

Consumer Pays
After providing free access, the most common approach to API monetization is establishing a price that API consumers will pay. Some API providers have done well by finding a fair price that developers are willing to pay for their resources. We are seeing three common approaches to APIs charging consumers:

  • Tiered - Providing multiple tiers of paid access, such as bronze, gold or platinum. Each tier has its own set or services and allowances for access to API resources. With pricing, stepping up in cost for each tier.
  • Pay as You Go - Other API providers prefer to offer a utility based model, where API consumers pay for what they use. Depending on the amount of bandwidth, storage and other hard costs, inccured around API consumption, providers charge based upon their cost, plus a logical profit.
  • Unit Based - Other API providers define each API resource in terms of units, assign a unit price. API providers pay for the number of units they anitcipate using, with the option for buying more when necessary.

Some API providers will mix and match different combinations of tiered, pay as you go and unit based API pricing to recover operational costs as well as generate revenue in many cases. 

Consumer Gets Paid
In some cases, an API will drive other revenue streams for companies and can actuallk share revenue with API consumers. This approach acts as an incentive model for API cosnumers, encourging integration and quality implementation of resources that drive the high possible revenue for an API provider as possible. There are three distinct models for sharing API revenue with consumers that have merged:

  • Ad Rev-Share - Some API providers offer advertising network as part of their platforms. API consumers embed advertising in their sites and apps, providing revenue for API providers. In turn the API provider returns a portion of the revenue from advertising.
  • Affiliate - Some approaches to monetization of websites have been applied to API ecosystems. Cost Per Acquisition (CPA), Cost Per Click (CPC) and one time or recurring revenue sharing models are commonly used. Once key aspects of where revenue is generated from an API driven platform, it is easy to carve of affiliate models for sharing revenue with API consumers.
  • Credits to Bill - A smaller group of API providers will employ an API consumers pay model, but based upon advertising revenue share or affiliate revenue will
    credit an API consumers bill, reducing a developers overhead for integration and eliminating the need to pay cash out the doro.

Indirect
Monetization of an API isn't always about directly generating revenue from API access, advertising or other revenue. There are often times indirect ways that an API can deliver value to a company. 

  • Marketing Vehicle - APIs can provide an excellent marketing vehicle for a company and its online presence. Through sensible branding strategies, developers can become 3rd party marketing agents, working on behalf of a core company and its brand.
  • Brand Awareness - As a new tool in an overall marketing and branding strategy, an API can provide a type type of brand exposure via 3rd party websites and applications. Extending the reach of a brand, using 3rd party API consumers as the engine.
  • Content Acquisition - Not all APIs are about delivering content, data and other resources to their consumers. APIs often allow for writing, updating and deleting of content, as well as pulling. Content acquisition via an API can be a great way to build value within a company and its platform if done right.
  • SaaS - Software as a Service (SaaS) has become a common approach to selling software online to consumers and businesses. Often times an API will compliment the core software and its offering, providing value to SaaS users. API access is often included as part of core SaaS platform, but also can be delivered as an upsell for premium SaaS users.
  • Traffic Generation - APIs can also be used to drive traffic to an existing website or applicaiton. By desigining an API to use hyperlinks directed at central websites or apps, and encouraging consumers to build their own websites and apps that are integrated with the API, the opportunity for driving traffic to other sites is very desireable to many companies who are providing APIs.

Many companies start by focusing on launching and evolving their API strategy and gaining essential experience, before fully executing on their API monetization strategy--relying completely on indriect value from an API. While it is better to have a monetization strategy in place early, many are finding success by prioritizing the API first and monetziation second.

With APIs being deployed in various capacities, within a company, privately between partners or in the public, a wide mix of monetization strategies can be used. Some API resources just lend themselves better to a pay as you go model, while some markets demand that data be freely accessible with the need to register or be charged for access. There is no one size fits all approach to API monetization.

One way to think about an API is as an external research & development lab within a company. A lab that accepts ideas and integrations from partners, incubates these ideas, applications and business relationships. Companies are using APIs to bring allow the introduction of outside ideas and talent into the mix, in hopes of inciting innovation. Some API providers will hand select the best integrations, invest in their individuals and companies, sometimes resulting in acquisitions of technology and the talent they possess--creating entirely new approaches to monetization you may not have thought of.

Just like there is no on size fits all approach to API monetization, there are few constants in pricing or access. Even the pioneers in the space like Amazon Web Services are constantly adjusting, tweeking and experitmenting, trying to find the most competitive approach possible. APIs are about business development and finding new ways to monetize your new and existing resources.

API Evangelism

An API is useless if nobody knows about it. Evangelism has emerged as the approach to selling, marketing and support an API platform. While the intent of evangelism can be sales and marketing, the philosphy that has proved successful is to find a balance that is more about focusing on API support and egagement with consumers over sales.

A healthy API evangelism strategy brings together a mix of business, marketing, sales and technology disciplines into a new approach to doing business.

Goals
Healhty API evangelism is centered around clear goals. Goals usually start with targets like new user registration, but need to be set higher around active API consumers, expanding how your existing users consume your API resources, all the way to clear definition of how your API will extend and expand your brand. 

Consumer Engagement
While it may seem obvious, actively engaging API consumers often gets lost in the shuffle. Have a strategic approach to reaching out to new users in a meaningful way, establishing healthy practices for reaching out to existing developers at various stages of integration, is essential to growing an API iniative. Without planned engagment of API consumers, a canyon will grow between API provider and API consumer, one that may never be able to be reversed.

Blogging
An active blog, with an RSS feed has the potential to be the face of an API and developer evangelism campaign. A blog will be the channel you tell the stories that help consumers understand the value that an API delivers, how other developers are integrating with it, ultimately leaving an SEO exhaust that will bring in new consumers. If comments are in place, a blog can also provide another channel for opening up conversation with API consumers and the public. 

Landscape
Without an understanding of the industry an API is operating in, an API will not effectively serve any business sector. By establishing and maintaing a relevant keyword list, you can monitor competitors, companies that compliment your platform, and establish an active understanding of the business sector you are trying to serve. Regular monitoring and analysis of the business landscape is necessary to tailor a meaningful API evangelism campaign. 

Support
When it comes to evangelism, support is one of the most critical elements. There is no better word of mouth for an API, than an existing consumer talking about how good the API is, and the support. Engage and support all API consumers. This will drive other vital parts of API evangelism, including creating positive stories for the blog, healthy conversations on social networks and potentially creating evangelists within a community.

GitHub 
I recommend a lot of online services and tools for API providers and consumers to put to use. But there is not any single platform that delivers as much value to the API space as Github. I would put AWS as close second, but Github provides a wealth of resources you can tap when both providing APIs or building applications around them. Github is a critical piece of any API strategy, allowing social relationships with developers that is centered around code samples, libraries or even documentation and resources for an API.

Social Networking
Twitter, Facebook, LinkedIn, Google+ and Github are essential to all API evangelism strategies. If an API does not have a presence on these platforms, it will miss out on a large segment of potential API consumers. Depending on the business sector an API is targeting, the preferred social network will vary. Providing an active, engaging social support presence when operating an API is vital to any API ecosystem. 

Social Bookmarking
Discovery and curation of bookmarks to relevant news and information via social bookmarking platforms is essential to an active API evangelism strategy. Using Reddit, Hacker News and StumbleUpon will provide discovery and access to a wealth of resources for understanding the API space, but also provide an excellent channel for broadcasting blog posts, news and other resources about API operations, keeping consumers informed, while also opening up other opportunities for discovery. 

Roadmap
API providers, and API consumers are constantly building trust and establishing a long term relationship with each other. One key facet of this trust, and the foudnation for the relationship is sharing a common roadmap. API providers need to actively involve API consumers with where the API resources are going, so that consumers can prepare, adjust and even give feedback that may, or may not, influence the roadmap. Nothing will piss off API consumers faster than keeping them in the dark about what is coming down the pipes, and surprising them with chanegs or breaks in their applications. 

Events
A healthy online presence is critical to any succcesful API strategy, but giving attention to a strong in-person presence at events is also a proven tactic of successful API providers. Evangelism involves a coordinated presence at relevant conferences, hackathons and local meetups. Events are necessary for building personal relationships with partners and API consumers that can be re-enforced online.

Reporting
Measuring every aspect of an API operations is necessary to understand what is happening in any API operations. Reporting on every aspect of API operations is how you visualize and make sense of some often, very fast moving API activity. It is important to quantify API operations, and develop reports that are crafted to inform key stakeholders about an API initiative.

Internal
External facing activities will dominate any active API operations. However, an essential aspect of sustainable API programs is internal evangelism. Making sure co-workers across all departments are aware and intimate with API operations, while also informing management, leadership and budget decision makers is critical to keeping API doors open, healthy and active. 

Repeat
API and developer evangelism is an iterative cycle. Successful API operations will measure, assess and plan for the roadmap in an ongoing fashion, often repeating on a weekly and monthly basis to keep cycles small, reducing the potential for friction in operations and minimizing failures when they happen.

A healthy API evangelism strategy will be something that is owned partially by all departments in a company. IT was a silo, APIs are about interoperability internally and externally.

API Discovery

In the early days of the web API movement (2005-2010), to find APIs, you went to ProgrammableWeb (PW), which was the only site on the web that was exclusively dedicated to web APIs. Discovery happened via the PW directory and constant stream of news and analysis about the space.

ProgrammableWeb is still relevant in 2013, but as the number of APIs grows, the directory model is not meeting the demand for finding the best of breed APIs that developers are needing to build web and mobile apps.

Within the API tech sector there has always discussion around the need for programatic discovery of APIs. Something that uses a machine readable approach to describing APIs, so that the next generation of API directories, integrated development environments (IDE) and other systems can discover, understand, monitor and integrate with APIs--with less human involvement. In short, this vision has never been realized.

API discovery has two sides, finding the APIs you need and having your API be found. While there has been an evolution in the API discovery game, much of it is still done manually, with a lot of legwork by both API providers and consumers.

As we move beyond 10K public APIs in the original API directory at ProgrammableWeb, the need for solid approaches to API discovery will emerge. API discovery is the bridge between API provider and consumer.

API Integration

Integrating with a single API can be tough, let alone multiple APIs. API integration involves on-boarding, exploration, education, authentication, code samples, testing, monitoring and sandboxing. An average API integration project involves everything between the discovery of APIs and when the application goes into production.

As the average web or mobile application evolves from using one or two APIs, to potential 10 or 20, the need to escalate and streamline the integration will become critical. Developers are already feeling the pain, and a new breed of API integration services and tools are emerging to meet the demand.

This new breed of API service providers are looking to aid developers in finding the best of breed APIs, learn about how they work, and get up and running as fast as possible.

Once a developer has successfully integrated with API resources, there is a transition from integration to operation, and a whole other opportunity to provide tools and services that will ensure success for developers. 

API integration has moved beyond the hobby mashup and the challenges of single API integration, and is becoming about building essential applications around mission critical, API driven resources that reside internally, via partner systems and across the Internet.

API Ecosystem

APIs start with deploying an API area to hang and manage a handful of APIs, where they can be accessed and put to use by consumers. But the goal is take an API area, evolve it into an active community of API consumers in hopes of transforming it into a self service, self managing ecosystem of passionate partners and consumers.

Sustainable API ecosystems are a two way street. They are not just about about API providers generating value, it is also about API consumers getting the resources they need to be successful and engaging in a new approach to busines development.

An API ecosystem will start within a single portal of API providers and consumers working together, but an ecosystem will never exist in just a single place. In this new connected world, API ecosystems will exit on Twitter, Stack Exchange, Quora and anywhere else an API consumer will frequent.

Developing and growing an API from area to ecosystem takes years of work, lots of communication, support and hustle by everyone invovled. An active API will attract new users, and the users who get the value they are looking for, and the support they need, will ultimately spread the word.

A viable API ecossystem is equal parts technology, business and politics. A balance will need to be struck that doesn't just deliver value for API providers and consumers, but also end users of any web or mobile apps that are integrated with API resources.

We all want an ecosystem around our API, but few of use will actually achive one.

What Are The Benefits of An API

The most direct benefits of an API are quicker, easier and more re-usable technical access to your companies assetts and resources. APIs will allow your company to rapidly develop web, mobile and tablet applications from a single technical stack of machine readable resources.

Using an API, you will be able to take better advantage of outside and 3rd party resources. Giving developers access to only the resources they need to build applications that will be used to expand the reach of a business. It is the perfect balance of opening up access to your resources while also keeping things secure, and within control. This will allow a company to eliminate traditional IT resource bottlenecks, in a sensible way. 

Beyond the technical benefits of an API, an API can bring an entirely new way of thinking to your business operations. APIs will allow you to think differently about your companies most valuable assets and resources, enabling you to decouple them and allow them to be used indpenedntly and in new ways you never imagined before. As you take inventory and prepare your resources to be deployed as APIs, it will give you a new way of looking at a way of operating that encourages transparency, interoperability and scalability by default, without costing you security.

This will ultimately transform business operations more agile, nimble and flexibile and able to take on any challenge in this new digital economy.

APIs Are Growing Part Our Connected World

In 1995 the question was, should we have a website? By 2000 it was clear, to compete in business you had to have a website. By 2010 the question was, should we have an API? And by 2015 it will be mandatory for business to have an API or they won't be able to compete in this new global, API driven landscape.

Our business worlds moved online by 2000, by 2005 things were getting social, then with introduction of cloud computing we were able to start delivering the scalable resources we would need to power the next generation of computing, via mobile smart phones. All of this is made possible by APIs, delivering the modular, valuable resources that are needed to build web, mobile and tablet sites and applications the world demands.

APIs are something that every business owner will have to understand by 2015, and are something that any tech savvy indvidual can use for business or even personal use. APIs are beginning to connect every day objects to the Internet, making the physical world around us potentially seamless with our personal and professional online worlds.

APIs are being used in almost every business sector to connect them internally, with partners and the public. Our federal, state and city governments are putting APIs to use to better engage with the public.

As API take hold in both our online and offline worlds, they are becoming something everyone needs to be educated on, making sure there is a wide awreness of the pros and cons of API access, and how to take advantage of, and demand the best practices in technology, business and politics of APIs.

APIs have left the realm of information technology (IT), and is something that impacts all of us. There is no avoiding it now.