About API Harmony

API Harmony is a catalog of web APIs. Developers can use API Harmony to find, learn about and use web APIs in their web or mobile applications. API Harmony aids a developer in wading through large amounts of information to quickly gain a good understanding about the purpose of an API as well as the context around that API (i.e. how active are the supporting communities).

API Harmony is developed by a group of passionate individuals at IBM Research. The group regularly publishes thoughts on APIs to the APIful blog.

Find APIs

API Harmony's first goal is to help developers find the APIs they are looking for. API Harmony makes use of structured information about the APIs in order to deliver better search results. API Harmony also provides a unique capability in that it allows for APIs to be searched within the context of previously selected APIs. Typically, an application is going to include a number of APIs, API Harmony will take this into consideration and start to rank future API search results based on how well the API works with already selected APIs.

Learn About APIs

Learning about a new API typically involves diving into a variety of sources of information, including: API documentation, community discussions and looking at sample code. API Harmony improves this process by bringing together the information that is important for a developer to reference when learning about a new API. This includes automatically finding relevant discussions on sites like StackOverflow, relating the APIs to other similar APIs that the developer may already be familiar with and providing convenient links to important pieces of information like the API's OpenAPI Specification document, terms of service and support links.

Use APIs

Finally, the developer can get to actually making use of the API in a web or mobile application. API Harmony helps the developer to make use of an API more quickly by providing insights that aren't readily available. For example, API Harmony is able to analyze millions of GitHub projects to understand how APIs are called. This information is summarized into "lessons learned" which help the developer to interact with the API in the best way possible.