5 Public Stream APIs for your hobby projects
Tags: api, restapi, websocket, http
Published: 2020-08-10 12:13:56

## [Twitch Webhooks API](https://dev.twitch.tv/docs/api/webhooks-guide/)

An awesome source of free to use, Webhook based API for your real-time projects. The API provides a JSON based response, to certain *Topics* you subscribe to. So far there are 3 *Topics* available:

* User Follows — Notifies when a follows event occurs.

* Stream Changed — Notifies when a stream changes; e.g., stream goes online or offline, the stream title changes, or the game changes.

* User Changed — Notifies when a user changes information about his/her profile.

Every *Subscription *has to specify the callback url, which is used to send the right response to. So if you are planning on doing hobby project with it, you might need a hosted environment for your app.

## [Meetup RSVP API](https://www.meetup.com/meetup_api/docs/stream/2/rsvps/)

Even though this endpoint of Meetup’s API is set as deprecated, it still works as expected. This endpoint used long-polling to send a continuous and non ending stream of data that can be consumed easily using any language of framework. The response object is quite rich in data, so doing and real-time analysis may be a good use case for this API.

There is also a Web Socket based endpoint, that provides the same response data, but because I haven’t tested it, I can’t say for sure if it’s reliable any longer.

## [Twitter Stream API](https://developer.twitter.com/en/docs/tweets/filter-realtime/overview)

Probably the most popular and widely adopted source of real-time data. Twitter Stream API provides a continuous stream of statuses with a wide filtering options if needed. Many languages have special libraries, dedicated to interact with this API, like Spark Streaming Twitter repository. There is lots of documentation and tutorial on the web, on how to use it. I think it’s a great starter if you are just diving into the world of real-time systems.

## [Instagram Webhooks API](https://developers.facebook.com/docs/instagram-api/guides/webhooks/)

Another source of social media data, delivered by Webhooks. It provides three different topics, that you can subscribe to so far:

* comments — sends a notification to your endpoint when an Instagram user comments on a media object owned by an Instagram Business or Creator Account.

* mentions — sends a notification to your endpoint when an Instagram user @mentions an Instagram Business or Creator Account in a comment or caption on a media object not owned by the Business or Creator.

* story_insights — sends a notification to your endpoint when a story owned by an Instagram Business or Creator Account expires.

For the correct configuration you will need Facebook Business or Creator Account, so setting up might be a bit time consuming.

## [GitHub Webhooks API](https://developer.github.com/webhooks/)

My last hero of the day is the GitHub’s Webhooks API. It is already used my many DevOps tools like Travis or Circle, and can provide you with lots and lots of different events you can subscribe to. If you are interested in analyzing a greater set of data, you can use *wildcard* event, which mean that any time any event is triggered, you will get a notification. Some of the available event types include:

* create — Represents a created branch or tag.

* fork — Triggered when a user forks a repository.

* push — Triggered on a push to a repository branch. Branch pushes and repository tag pushes also trigger webhook push events.

## Summary

I hope you have found this post useful. If so, don’t hesitate to like or share this post. Additionally you can follow me on my social media if you fancy so :)

 <iframe src="https://medium.com/media/7736acc5304db8813a21b1cbbc5ca4db" frameborder=0></iframe>