What is API?
An API, Application Programming Interface, is a set of rules, routines, libraries, or languages that allow different software to speak with each other. In simpler terms, it is a bunch of functions that accept certain inputs and return specific outputs. Following that idea, when you use Excel and type =CONCATENATE(A1, B1, C1), it returns "ABC," which is an example of an API.
In the Web and Mobile universe, the API is usually a combination of file format, a library of functions, programming language, network protocol, and documentation.
How does API works?
A software developer will look after an API when she is interested in specific services from another software. There are three significant steps.
The first one is to evaluate and obtain testing credentials. The developer will consider and study the API library of that particular target. After that, she will sign up to receive sandbox credentials and access to the target API. At this point, she will use intermediary tools, such as Postman, to test the target API.
The second step is to plan and create the connections between her software and the target API. She will follow the instructions from the documentation and then apply the functions and examples shown from the library. If the testing is successful, the programmer will plan and map how her software connects and digest the information from the API. This process may require creating new database tables to support the API's data and create functions from her software that will activate the commands sent to the target. The sending process will rely on protocols such as HTTPS leveraging Internet connectivity.
When that is completed, the last step requires a lot of testing and then the switch from her testing API credentials to Production credentials.
What are the most common uses of API?
There are many uses for API:
- Showing Google Maps in your mobile application - for example, Uber using Google Maps.
- Using a third-party login tool allows users to sign up with Google, LinkedIn, Facebook, and many others.
- Connecting a loan app with banking information from borrowers - when you apply for a loan, the app can connect to your bank to verify who you are.
Why do you need to use an API?
Developing apps fast and offering outstanding services to users can be done in two ways: the first option is to build everything yourself. The second is to borrow pieces of services from the best players in the market and then process the result in your app. For example, Uber did not have the money or time to build the best-in-class mapping system. It uses Google Maps to show the locations of the drivers and users.
Why do you want to create an API?
For Product Managers, this should be obvious. It allows you to expand the reach of your existing app immensely. It may not feel obvious why to target a few developers versus end consumers at first. Allowing other people to connect to your app will allow more innovation and audience reach. The more apps connect to your API, the more formidable you become by building a network effect. That brings a huge competitive advantage against your competitors.
Examples of successful products that rely on this networking effect:
- Quickbooks - many B2B fintech apps have to connect to Quickbooks because businesses ask for it.
- Facebook Connect - there are so many people using Facebook that it is easier for people to use it and sign with an email and password.
- Amazon Alexa - the more people have it, the more smart home devices will connect to it.
Where can you start using API?
There are many ways you can start learning about API. The best way is to use it! If you don't have programming experience, you can use a service called Zapier or IFTTT to start connecting different services for automation. It does not require you to program, but it shows you the power of API.
If you can program but are not familiar with Postman, I highly recommend you to try it out. Then pick an API such as Quickbooks or Twitter API to start playing with it. Depending on the programming language you use, many libraries help you connect with the most popular API with ease.
How can API make your product better?
When you are creating a product, thinking about your product from the API perspective will for you to think about what features you want to provide. It removes the visible part of a product, forcing you to think from the "soul" of the product you are developing.
Using Uber as an example, there are two significant ways to build an app like that: first, you draw the low-resolution wireframe for a user. Second, you have to describe the Uber app's principal functions without any visual indicator. When you follow that, you will end up with the API. You will notice that you have to be concise and straight to the core features of the app. That will clarify what is a high priority and help with focus.
How can you make API make money?
You can extend your product by offering ways for third-party tools to get the same functionalities you have in your app and customize and tailor for their use cases.
For example, you have video conference tools for business, but you can create API that allows startups in the Healthcare space to use your technology. Now you are also servicing the Healthcare industry without having to be in that space, but you can get paid by using your technology.
What is going to happen with API in the future?
There was a brief scare in the software world when Oracle sued Google for using Java API. If Oracle had won, it would hamper the creation and usage of API across the digital world. It would be risky to create and use API for the uncertainty generated, but the U.S. Supreme Court denied that.
My vision is that the API will become more and more prevalent and easy to use. Many new tools and technology stacks make it easy to create API, such as GraphQL, and many other tools can "translate" legacy software and bring them up to date so that new software can be compatible with them.
Also, companies like Zapier, IFTTT, and many others help non-programmers to use API easily, expanding the possibility of new services and products to existing soon.
There are open-source equivalents of Zapier such as N8N and Huginn that you can host in your machines for those into Open Source apps, but it requires you to know about Linux and programming.
API allows different products, software, and services to talk to each other. Usually, a programmer will study an API to see how it can connect to its existing apps creating innovative software. For Product Managers, it is vital to consider making API expand the reach of your product and gain new markets, thus increasing revenue. The future will be great for API, and there is no sign that it will stop soon!