Streams

The Relationship Between GET and POST In A Publish And Subscribe API World

A number of API platforms have adopted a publish and subscribe API focus when it comes to delivering content. Providing lists of topics that API consumers can subscribe to, and when it makes sense, allow for the publishing of data and content to these channels as well. The approach provides a compelling way of aggregating, organizing, and making information available using APIs. These platforms take a significant amount of vision and investment from providers to deliver, but they can go a long way towards allowing consumers to tap into the channels, or streams of information they are looking for, and tune out the noise they aren’t interested in.

Even when a publish and subscribe API or framework isn’t intentionally in place, you can still see the makings of a publish and subscribe opportunity present in many existing platform. While mapping the surface area of popular API platforms, when you come across APIs that provide a GET method, along with a complimentary POST method, you have the makings for a publish and subscribe environment. The POST is the publish, and the GET is the subscribe mechanism. The work is all about defining what topics are available for subscribing to via these channels, and bringing clarity to the publish and subscribe opportunities that exist. Some might be more about subscribing, while others will have the shared opportunity for publishing of data when there is enough of an audience already subscribing to a channel.

Publish And Subscribe API 511 dataAn obvious example of this could be with Twitter, and subscribing to any specific #hashtag, and being able to publish to the same channel. Other social channels provide similar possibilities, publishing to Facebook, Instagram, Pinterest, and others. These represent the low hanging fruit when it comes to mining for publish and subscribe opportunities, but there are numerous other possibilities hidden within the surface area of everyday APIs that exist across the landscape. Finding them might involve looking beyond the popular social APIs, and looking at APIs within the federal government, or maybe 511 transit and traffic APIs within various cities. While there may be a significant number of subscription opportunities, identifying the ones that have publishing opportunities as well will take significantly more work.

We are finding that mapping out the API landscape using OpenAPI, and then looking for GET and POST combinations is a good way to begin mining for these hidden publish and subscribe channels that could one day lead to publish and subscribe API. As we build out the Streamdata.io API Gallery we are keeping an eye out for these types of channels, making a note that they exist, and considering how we can include them in our directory of APIs, but also making them easier to get at as publishing and subscription channels, with well (or at least better) defined lists of topics that are available for each channel. Eventually, we envision the Streamdata.io API Gallery as being much more than just a directory of API resources, and more of a living directory of streaming subscriptions, that also have a publish opportunities available.

Image Credits: Cerillion Skyline

**Original source: streamdata.io blog