We use OpenAPI as the default specification that drives the Streamdata.io API Gallery. The popular API specification provides perfect machine-readable model that can be used to profile, browse, and search for APIs, going beyond just the title, description, or tags associated with an API, and allowing us to build indexes of the technical details of each API that is included. OpenAPI provides us with many ways in which we can document an API, but we find the host, tags, and enum for each API path to provide the most value when it comes to topical stream discovery.
Our gallery of APIs has over 10K individual API paths available, making it pretty daunting to find exactly the type of API you are needing. We use OpenAPI tags to help us define the over 400 API topics within the API Gallery, and the host to define the over 300 entities that drive the index of organizations behind the API catalog. Now we are also increasingly using the enumerated values to help us more precisely define the topic streaming opportunities available with each individual API path. Allowing us to define, and our customers to discover the data they are looking for in a growing sea of APIs that are emerging across the landscape.
An example of this can be found with the Stack Exchange API, which provides a question and answer platform, across a variety of sectors. The most notably is Stack Overflow, a popular QA site for developers. We have the Stack Exchange API profiled, with a very precise OpenAPI definition. We can take this definition and populate it with very precise sets of enumerators, which allow for the delivery of specific topical data streams using Streamdata.io. We take the host from the OpenAPI definition, along with the basepath, path, and enumerators like popular programming languages like Go or Node.jes, and turn them into valuable streams of data.
The OpenAPI definition gives us everything we need to create the streams, as well as to make it discoverable for a variety of topics. The Stack Exchange API Host, using the Question and Answer tags, combined with enumerators like Go, Node.js, Java, PHP, Python, and Ruby, delivers a pretty defined data stream, that can be used to tune into programming language conversations occurring across the Stack Overflow platform. For us, the OpenAPI definition is the discovery and the delivery of each topical data stream. Giving us a single definition we can use to profile the value an existing 3rd party API delivers, and publish it to a public or private API catalog for consumers to put to work across their operations.
This rich way of profiling APIs allows you to define your integrations using a machine-readable format, but it also allows you to discover the APIs you need. Having all the technical details of an API defined in this way, including the values you might use to make relevant API calls, provides a powerful engine for driving API discovery. Allowing you to find the APIs you need, and quickly make the calls to those APIs that will get you the data you need–enabling you to fire up precise data streams deployed using existing API infrastructure.