As part of the roadmap for the Streamdata.io API Gallery, we’ve been working on a search for the OpenAPI-driven API catalog. One of the prototypes we’ve been working on was using the search API platform Algolia, but it turns out great minds think alike, and the Algolia team has been working on their public API search catalog–validating for us, that we were on the right track. Their project isn’t OpenAPI-driven and builds upon existing work by Digital Ocean, but we are hoping to merge their work with ours, resulting in an Algolio, OpenAPI-driven, API search and discovery solution.
You can browse their API directory at https://www.api-search.io/, which provides lightning fast search of over a hundred APIs, in a variety of categories, with different authentication mechanisms. Providing a very attractive API catalog solution, that has a basic API behind it, providing simple, yet fairly granular access to a catalog of API resources. Adding another API discovery solution to the growing number of catalogs out there to help developers find the resources they need in their web and mobile applications.
We’ve begun playing with Algolia to see what is possible when it comes to indexing the over 10K individual OpenAPI definitions we’ve aggregated as part of the Streamdata.io API Gallery. We’ve checked out the over 400 topic repositories, and over 300 entity repositories, we use to drive the distributed, forkable, and machine-readable API gallery. The next step is to index all the YAML APIs.json and OpenAPI files that make up the API catalog using Algolio, and see what we can do with their search API to make for a robust API search engine.
Our goal is to provide a public API search engine for the Streamdata.io API Gallery, but we also want to make it so that our customers can build their own custom collections, check out the repositories, and use Algolia to build their own public or private API catalogs. Including the thousands of APIs we’ve cataloged, as well as their own internal and partner API definitions. Using Algolia as the search index for any API gallery that gets deployed, allowing them to be browsed by humans, or by other systems using the Algolio API, making API discovery accessible anywhere the API resources will be put to work.
We will be playing around with several ways to search our API Gallery, but it makes sense to use another API provider as the search mechanism for our API catalog. The trick will be making sure we can enable search beyond just keywords, and allow for filtering by a verb, streaming APIs, and the ranking system we use to high grade our APIs. Our biggest challenge to date has been spanning the distributed nature of the gallery and working with YAML files that are spread across many different repositories. Keeping the gallery decoupled by topic and entity, but accessible via a single search index so that developers can find exactly the API they are looking for across a fast-growing catalog of resources.