Update: /channels, /version/channels, and /live_channels endpoint changes

Hello developers,

We are making some changes to the way several of our API endpoints function to ensure the continued stability and scalability of core extensions systems. We are making these changes because we have discovered that these endpoints, as designed, are not able to handle the volume of data necessary to serve their purpose.

Effective today, we will be disabling the following endpoints:

https://api.twitch.tv/extensions/[extension ID]/channels
https://api.twitch.tv/extensions//[version]/channels

In the near future, we will provide new endpoints with pagination to provide equivalent functionality. If you have any systems that query these endpoints, they will need to be updated to handle paginated data responses upon reactivation. Our documentation will be updated to reflect this when the updated endpoints are released.

Additionally, we want to give you a heads up that the /live_channels endpoint will also be receiving a pagination update.

https://api.twitch.tv/extensions//[version]/live_channels

Because live_channels serves a critical function for several live extensions, we will not be disabling it today, but will be announcing a small deprecation window upon the completion of a new, paginated version of the endpoint. We will be reaching out directly to affected developers to assist in the transition.

Thank you for your flexibility and continued support as we work to resolve these issues. This thread will be updated as new information becomes available.

2 Likes

Hi @rbartlet thanks for the FYI. Is there currently any sort of analytics or other endpoint where we can see how many channels have our Extension installed? I can’t seem to find that figure anywhere and I assume the endpoints listed above would previously have given this information.

Your assumption is correct. This was the intent behind these endpoints. We are working on getting new replacement endpoints available.

Before taking action on these three endpoints we looked at which ones were being actively used, in order to make a call about disabling versus depreciation. The live_channels endpoint was actively used, so we have done what we can to provide continuity. The other two endpoints were not critical to the operation of any extension, so to minimise risk, we disabled them.

An update about a new live_channels endpoint should be coming very soon.

I know that this is not the greatest answer, but it is something that we are trying to be transparent about and are actively working on.

2 Likes

It would also be great to have some query parameters, e.g. filter by game, or sort by view_count.

This is definitely true, however one of the bigger attractions of the https://api.twitch.tv/extensions/[extension ID]/channels endpoint is the ability to run business analytics for those developers who would like to.

The data provided data is helpful/required to answer questions that are not entirely needed at runtime of the extension such as:

  • How many broadcasters have installed my extension? (Today? This Week? Overall?)
  • How many broadcasters have activated my extension?
  • How many broadcasters have not activated my extension?

There’s a few things that may be helpful in addition to what was previously returned by the /channels endpoint. Note that most of these things are possible by running some offline analysis after pulling the /channels data on a regular interval or by stitching together multiple Twitch API calls, but there may be some common use cases that are worth solving in once place.

  • State Change Timestamps
    This could also be a filter/parameter that limits the results. E.g. “Give me all [installs/activations/deactivations] since XYZ timestamp”
  • Last Broadcast Timestamp
    As expected, the /live_channels endpoint is a snapshot in time and if you are trying to run analytics it’s likely that you will miss sections of your install base’s active/live time. Unless you pull the data frequently, which generates unnecessary server load :wink:

Overall, I think the /channels and /live_channels endpoints are super helpful and serve distinct purposes. Excited to hear future updates.