IBM API Harmony is a service that developers can use to determine a bag of APIs
that best suits their needs during their requirement gathering process.
Developers can also examine and learn how others have used APIs in their
applications. With API Harmony, you can search the ever-growing corpus of APIs,
curated by IBM, see new implementations sourced from GitHub, and get an idea of
Since the service launched, we observed the use of API Harmony and thought about
how to extend the user engagement and provide more value in the ideation phase
of a service or application. Below is our latest look.
API Harmony puts a cognitive spin to the web API space. The data it displays
stems from unstructured and semi-structured sources, including webpages
describing APIs and source code that invokes APIs. These sources are collected,
analyzed, and the extracted data is put into a graph. Upon user interaction, API
Harmony performs graph analyses to retrieve recommended APIs and rank them,
considering user’s stated needs and relationships to already selected APIs.
We improved capabilities to navigate between APIs based on their usage. Early
on, we assessed open source projects on GitHub to determine which APIs they use.
We used to (and still use) this information to relate APIs based on usage in the
same open source projects. In addition, we now display a much richer set of
information on the open source projects, including natural language descriptions
and number of stars. Also, API Harmony now allows to traverse the relationships
spanned by open source projects between APIs, providing users an overview of
all the APIs used by a project. This invites some thinking about those newly
found APIs. As APIs get selected, a unified visualization of the graph reflects
the relationships to showcase other commonalities of the application context, or
bag of APIs, being built.
We added information from another source to support developers in using APIs: we
present questions and answers from Stack Overflow related to an API, providing
insights on how APIs are used by the developer community and how to avoid common
Behind the scenes, gearing towards the future, we adopted a microservice
architecture, in which all capabilities are API enabled (ok, we already were
API first from the get go). We built devOps pipelines to quickly build and
deploy new capabilities.
We aim to learn what users value in API Harmony and how we should evolve it. To
that regard, we provide explicit feedback mechanisms in the form of a forum and
an anonymous feedback box. In addition, we observe how people use the service.
So tell us what you like, what you don’t like, and what you would want to see
next. We have our own list of threads to work on - some started, some are just
ideas. They range from producing more interesting data to display using static
code analysis, to social media analytics, to more cognitive functions. Your
input is most important!
Access API Harmony directly here. API
Harmony is also accessible from all of the Bluemix zones. You can also follow
API Harmony in Twitter @apiHarmony and
bookmark this blog for future announcements and some
interesting discussions around APIs.