In our previous article, we answered the question "What is an API?", explained how Application Programming Interfaces work, and what benefits of API development you can get.
Today, we’re going to step back and discuss reasons why you might start thinking about developing and providing your own API. We’ll also talk about some of API functions, and then take a look at some of the brightest examples of APIs to give you inspiration.
When is it time to develop an API?
Who knows – maybe you’ve already reached the turning point and it’s time for you to expand your business. For example, let’s say you have a couple of desktop and web applications (created to serve your company’s own needs) that are built on top of your proprietary information system. This setup may signal the need to create an API. At the same time, if you already share your commercial data with other partner companies via some web service, then you should also think about capitalizing on API development.
Now we can put the question differently and ask “Why is it time to develop an API?” Here are some motives.
To improve your business processes
Building a private API can be a good starting point for your business. This way, you can learn from your own mistakes and provide a better user experience for third parties in the future. Moreover, being your own API provider has a lot of benefits itself.
First of all, a ‘handicapped’ information system that doesn’t evolve over time and prevents the introduction of new technologies can discourage many developers, architects, and other employees, which, in turn, may increase your overall employee turnover rate and make it hard to hire talented new people (nobody wants to maintain an outdated system). You can avoid this with an application programming interface: by introducing new technologies and new challenges, an API can make your company a dream workplace.
Second, you can build reusable APIs instead of problem-specific software solutions. Reusable interfaces can be the base for various company products (mobile, web, and desktop apps, for example). You can even build ephemeral products that might be needed for a specific short-term purpose (an app for an overnight marketing campaign) that you can afford to use once and then abandon, since implementing these products won’t require huge expenses, time, and effort.
By integrating your own internal APIs, you can also solve the common shadow IT problem. If you don’t offer easy access to your internal information systems, some employees may resort to unapproved solutions from outside your company, and may try to integrate them on their own. Lacking the appropriate security and reliability, these third-party solutions, when improperly integrated with your information systems, may cause unexpected costs or, even worse, losses of revenue and company reputation. Programming interfaces can control shadow IT solutions or help you avoid the usage of unsanctioned software inside your company altogether. With a clearly defined API, it’s possible to let your employees build plugins to satisfy their needs.
Enabling new ways to access your internal information system, APIs open new horizons for your employees, such as the opportunity to work remotely. With a private API, it becomes possible to provide system access from outside your company’s physical offices. Your employees might even access your real-time database while far away from your local network via their smartphones or tablets.
When building an API that needs to keep your data and organizational secrets safe, you’ll need to carefully study and analyze your system and to make sure that everything is in order. Doing so will give you a better understanding of how your data flows and your inner processes function. All of this knowledge may be a great starting point for further innovations and improvements inside your company.
To pursue new business opportunities
Once you know how to deal with a private application programming interface inside your company, you may want to consider providing your expertise to others. Here arise an entirely new set of benefits for your business.
Just as private APIs can help you learn from your mistakes within the secure borders of your company, partner APIs can help you learn within a circle of several devoted strategic partners. In this way, you can see how your brainchild performs before providing it to a wider public audience. Plus, by getting several other companies to use your APIs you can create new opportunities to grow and make your product ubiquitous.
Providing a public API is the next natural evolutionary step for your business. After you get a sense of how your solution is doing and your API team becomes comfortable serving a few strategic partners, it’s time to lift the veil of secrecy that hangs over your commercial data and product structures.
Not only will this help you improve your public reputation, but it will also open up new opportunities to earn money. What’s more, you open up the possibility for other people to create something really groundbreaking on the basis of your product.
Industries and sectors offering public APIs
While a lot of APIs stay behind the closed doors of corporations, there are a great number of interfaces that are available publically for free (or almost for free). Here’s our list of types of APIs, along with their corporate providers, to draw inspiration from.
Facebook’s APIs (the Graph API, Marketing API, and Live API, which was launched this year) are perfect examples of free public programming interfaces that enable developers to build immersive and interactive applications, in this case applications that include some of Facebook’s functionality. And while Facebook’s APIs remain free to use, the company reserves the right to change the rules in certain cases. According to Facebook’s Platform Policy, use of their APIs may be subject to additional terms if you exceed 5 million monthly active users, 100 million API calls per day, or 50 million impressions per day.
[Facebook API used in Instagram]
Flickr is another famous API provider. Flickr’s API enables developers and publishers to embed some of Flickr’s functionality into their products for free. However, Flickr has some rules and restrictions regarding the use of its solution. The Flickr API is free for non-commercial use, but if the primary purpose of your app is to make money, then you can only use the tool with an individual agreement.
Another social network that provides its API for public use is Instagram. Using Instagram’s API you can, for example, display Instagram photostreams inside your apps (as Tinder did), create applications that allow users to access their Instagram photos and print them on different items (as we did with Snapbook), build location-aware apps that can show Instagram photos from different locations in real time, and so on.
[Instagram API used in Snapbook]
Unfortunately, in 2016, Instagram significantly restricted access to its API. This move was made to prevent company’s API from being used for certain undesirable purposes. Thus, today full access to the company’s tool will be allowed only after some negotiations.
On-demand delivery services
Before going public, Uber started providing its partner API to a limited number of companies including OpenTable, Starbucks, Tempo, and Expensify. To get even more third-party developers to embed Uber’s API into their products, Uber launched an affiliate program to grant free credits to developers who encourage their users to try out the taxi-hailing service via their apps.
Today, Uber’s API is open access and available to third-party developers who are looking for tricky new ways to embed Uber’s service into their apps. The list of use cases for Uber’s API is really impressive. Take, for example, Firefly, which enables its “fireflies” (Firefly users) to track their friends’ locations and see whether they’re already in an Uber cab and heading to the party or whether they’re still at home getting ready.
Timepage by Moleskine not only allows you to make a reminder about your next event, but also lets you create API requests for an Uber car to get there. Users can also get an approximate cost for the ride and an estimate on when their Uber car will arrive without leaving Timepage.
Fitness and Healthcare
In mid-2014, Apple introduced its HealthKit API to let third-party developers build health and fitness apps that take advantage of the potential of Apple’s technologies. The Health API aggregates data from various built-in sensors and fitness devices (scales, bands, and other wearables) so these data can be conveniently stored in one place and shared among multiple applications. This makes it much easier to build a fitness app.
There’s only one way to access HealthKit and use all its benefits, however – you need to be a member of the Apple Developer Program. In other words, Apple grants access to its HealthKit "tooling" only to partners.
Similarly, Google has its own program to develop fitness and health products, which includes several APIs (the Sensors API, Recording API, and History API) that work towards the same goal – to “make building fitness apps and devices easier.” There are numerous apps built on Google’s API technologies, including Lifesum, Noom, Lose it!, and Strava. As with Apple, Google’s fitness and health APIs are accessible only after enrolling in their developer program.
In 2014, Fitbit has decided to be independent from Apple’s HealthKit, and to that end released its own cross-platform API (including examples in .NET, PHP, and other languages) that allows developers to access and modify a user’s fitness data from different Fitbit devices. To get started with Fitbit’s API, you need to register your application with a free Fitbit account.
Implementing a payment gateway on your own can be a real pain in the neck, especially considering all the problems with taking responsibility for your users’ sensitive data and going through the long and painful process of PCI certification.
To avoid all this unpleasant stuff, you can rely on various payment gateway providers that do much of the heavy lifting for you. Third-party payment systems kindly provide their APIs and SDKs for you to embed in your application. Stripe and Square are among such services.
Stripe’s easily integrated and well-documented API was a breakthrough in the payment systems market at the time it was launched. Payment system APIs of the past were buggy and inconsistent, but Stripe set a new standard for quality, and even for what API documentation should look like, causing their competitors to up their game (including PayPal, with its new RESTful API). Today, Stripe’s official libraries are available in several languages including Ruby, PHP, Swift, Java, and C#, so developers can integrate them with any kind of product – web, mobile, or desktop.
Recently, Square launched its new APIs for online and offline stores. More precisely, Square offers three APIs that serve three different purposes.
[Square Register API]
Square’s new e-commerce API is for developers who want to accept payments on a website. Square’s Register API is a POS API allowing you to take payments in person, at a store or on the go. These integrate with Square’s physical equipment and also runs on iOS and Android devices. The Register API redirects users from your custom app to the Square app to make payments. Square’s Connect API is a useful tool for managing customer data and online stores, and for tracking your inventory.
There are no monthly fees, contracts, or commitments for any of Square’s payment APIs, but you are charged a set fee per transaction.
Salesforce has been providing its own APIs since 2000. Salesforce’s prebuilt applications provide powerful CRM functionality, but if your company has some specific business needs that can’t be supported by the existing functionality, Salesforce also gives you the opportunity to customize these prebuilt products and add more advanced administrative functionality. This is possible using a number of the company’s APIs.
MailChimp’s open APIs serve the same purpose, and were created for developers and engineers who want to build their own connections between MailChimp and other third-party services. As reported by MailChimp, more than 200,000 developers use the company’s APIs daily to automate their marketing processes, from creating streamlined email campaigns to adding new subscribers to their email lists.
At Yalantis, we think that providing an API should be a concern for every company, from small internet startups to large and powerful corporations. Whether your goal is to improve processes inside your own company or to let other companies build something exciting on your technologies, API integration can be a good way to achieve it, and, hopefully, our guide to API technology will help you with that.