The world is moving to a direction where everything will be connected. APIs are a concrete way for apps to communicate. How do we connect everything? How many APIs are out there? How do I find them? How do I choose the right one? This is a challenge.
How many APIs are out there? Not an easy question to answer. According to ProgrammableWeb there are over 12K Public APIs and a much larger number of Private APIs. Imagine how this could skyrocket in an all connected world. When we are talking about APIs, there are two roles:
- Providing an API. That means you create an API (or many) that may provide access to your data or content or services internally or to the public.
- Consuming an API. This is the case when someone uses APIs to get data, content or services in order to power a web, mobile or any other kind of application.
There are cases that applications or companies, play the role of the provider and consumer of such services. It is better to think of APIs as value multiplier.
The main stages to use an API in your application are roughly:
- Find that API
- Use it with your app
- Deploy your app
In this post we will concentrate on the “Consuming an API” dimension and in more detail at the “Find that API” part of it.
Find that API a.k.a API Discovery tools and more
As a developer, you probably know the API to use in the first place. Could be Facebook, or Twitter or a weather API etc. Nowadays though the number of API that you may need to use is getting larger and there may be cases that you will need to search for an API to use.
There are tools that provide you API Directory services which are being further expanded by API marketplaces and API Hubs. A quick and dirty definition is the following:
- API Directories: Imagine them as common Directories, a.k.a. repositories, but with APIs.
- API marketplaces: An API Directory, re-invented to marketplace model.
- API Hubs: An API Directory in steroids, meaning more tools and functionalities that just finding an API.
- API explorers: They usually provide interactive interfaces to play with a provider’s API.
- IDE tools: Add-ons for development tools to allow easy discovery of an API. This is a recent trend and new things seem to be on the move with Eclipse, Microsoft’s Visual Studio and even Salesforce or Google, getting in the game.
As the distinction line between these tools is blurry and there is a big consolidation on services and even on the company level happening, I will consider them all being under the API Discovery services.
ProgrammableWeb is the first (and oldest) API directory service. Was created on 2005 by John Musser and since 2013 it belongs to Mulesoft (One of the leaders in the API Management space). ProgrammableWeb is considered as the go-to resource when searching open APIs or mashups across the Web. When an online service like Facebook or Twitter or Google Maps opens its API, ProgrammableWeb is one of the best resources to find what you need. They have a great blog to keep you up to date for anything that has to do with APIs. If you need any kind of statistics about API usage, adoption or trends this is a very good point to start checking!
In details, inside ProgrammableWeb you may find:
- An API Directory, where any developer may search over 12.5K open APIs to use.
- A Mashup Directory, which is a showcase of Web applications that put Web APIs to work.
- How to’s and Source Code.
- A directory of frameworks, libraries, and SDKs each of which is connected to API-driven development in some way.
- Latest statistics and trends on the API economy.
When you go into the API Directory, you may search and filter any category you wish. By finding an API you will redirect to its page while having a number of data in your disposal (specifications, documentations, mashups that this API is used, articles, discussions and many more). There is where you notice the power of community. You may track that API for updates or follow it along with a number of fellow developers.
Note: Since MuleSoft acquisition, ProgrammableWeb was connected with the MuleSoft APIhub. APIhub was an API discovery platform originally created by MuleSoft. According to MuleSoft they want to create the one place where developers will get the support they need when integrating APIs.
Originating from Italy, Mashape started as a platform to aggregate different functions and UI elements from third party products and services. Today they are positioned as an API marketplace and API management platform with a community flavor.
If you need to find APIs (public or private) to consume, their easy to use platform can prove a good choice. For each API you look for, they provide you with the necessary documentation and a test functionality to start hacking it right away. One thing to note here is that the term “marketplace” usually brings in mind things for sale. While Mashape does offer APIs that are paid, you can find many free to use APIs as well. Plus, by getting to their platform you also get a dashboard to monitor the APIs you consume with your application and manage them accordingly.
Mashape has made an effort to bring together 100,000+ developers and get a more “social” aspect of the APIs. Every API page has an indication of how many developers follow or like it (consider it like the GitHub stars and follow system). This API community may get you great insights on API usage and adoption, read comments etc. You may also want to check PublicAPIs with 5,000+ APIs listed and maintained by the community.
Note: Mashape is not only for developers that want to consume APIs. If you do own an API, you may list it with Mashape and get another channel to reach out potential API consumers and a larger audience of developers.
APIs.io is the most recent endeavor from Kin Lane and 3scale. Kin Lane is considered to be one of the emblematic figures in the area of APIs. His website API Evangelist is a one-stop-shop in anything has to do with APIs. 3scale is one of the leading API management providers for SMEs.
APIs.io is not an API directory in the sense of ProgrammableWeb. It is an experimental open source API search engine and is closely connected to another project initiated by 3scale and Kin Lane, APIs.json. APIs.json is a machine readable format, still under development, where an API owner may describe his API. Imagine it as a Sitemap for APIs but, instead of manually entering an API in an API Directory service, someone may use the APIs.json format to make his life easier. APIs.io builds on top of this capability. It is a search engine that discovers web APIs that are described by the APIs.json format. Every API discovered will be available via its web search. Currently it has 800+ APIs in the list.
Note: If you own an API, the whole idea of getting your API listed in this search engine is very similar to other search engine solutions. You first generate an APIs.json file and then you publish the resulted file it in the root domain of your server or wherever applicable. Lastly you “add” it in their search engine.
Apigee is one of the “big players” in the API management space and they offer a wide list of tools and services. They provide free API tools for developers to large API platforms for enterprises and they range from discovering / exploring APIs to Big Data. Apigee has a great community of developers along with a huge number of resources (forum, white papers, articles, training, guides etc) you may find in their website.
Apigee’s API discovery tool are the “API consoles”. These consoles is a UI for developers to learn, test and work with an API. There are several consoles for popular API providers like Etsy, Facebook, Fitbit or Twitter that you may use. In each console you chose to work with, you can select the API service you need as well as available methods, descriptions and documentation. Following that you are good to test and play with the API.
Note: Apigee’s range of tools apparently is not easy to enumerate in this post. In case you have an API to expose though, you may use Apigee Console To-Go. It is like your own API Console where you describe your API, upload the description to Apigee and create a custom Console. From now on developers may see all the necessary info to use and learn your API.
Next to 3scale and Apigee, Mashery came with its own solution. Mashery was founded in 2006 and was acquired by Intel in 2013. The range of their services covers from API technology and infrastructure to business strategy and a network of 150.000+ application developers. So apart of their huge API management platform they have great tools to help developers discover, learn and use APIs.
Their discovery tool is The Mashery API Network. It is a number of services to developers that includes Open Source tools (API Power Tools), Hacker League and API Explorer. API explorer is their API discovery page for the 40+ Mashery-powered APIs or community contributed APIs. In some of these APIs you will notice a small DX Certified badge. This shows that the API has gone through an extensive audit by Mashery in relation to User Experience.
Exicon started out as a developer agency but evolved into a more app-centric platform. Exicon manages the logistics of a company’s app portfolio. That means a company may manage its apps in one central place, find developers and get statistics on the usage of the API you provide or your app usage.
Although TheRightAPI was founded in 2010. It is offering Testing and monitoring solutions, but allows you to explore a number of APIs. They give you the ability to test it right away and it is free to use. You may try various API usage scenarios to test the quality of the interactions between applications and these APIs. You may also use test scenarios shared by others in TheRightAPI community. They offer testing automation and statistics or alerts.
More about TheRightAPI at:
– The Official Web site
Google APIs Explorer
I was wondering whether I should add this to the list as it is not a tool for general API discovery but for google apps only. Google APIs Explorer allows developers to navigate Google API services, browse available methods, make API requests, and see responses.
Google APIs Explorer is interactive and you may explore all Google APIs like Drive API, Gmail API and Google Analytics API etc. By selecting an API you want to play with, you will see a list of the available methods and parameters along with documentation.
The environment is extremely user friendly and you will get up and running really fast.
More about Google APIs Explorer at:
– The Official Web site
Note: One important thing to note is the Google API Discovery Service. You can use it to build client libraries or IDE plugins that will interact with Google APIs. It provides a lightweight, JSON-based API that exposes machine-readable metadata about Google APIs. You may read more here and at the Getting Started Guide here.
A large shift seems to have taken place since ProgrammableWeb was the only directory service available. Today many of the Directory or Discovery features are part of larger platforms. The ultimate purpose of these tools is to facilitate API search and discovery. Whether they are succeeding in their objective or not is something for you to decide as it largely depends on your specific context.
Have you ever used any of the above solutions? How was your experience?