There have been a lot of questions around why data from Kraken is missing in the new Twitch API. We want to let you know why that is.
Kraken, the previous version of the API, serves both first and third parties. There is a lot of data exposed in Kraken that we need to power Twitch, but not all of that data make sense for a third party API. Or maybe the data does make sense for it, but for performance reasons we haven’t been able to add this information in a way that keeps the new Twitch API reliable. Or maybe we do want to include the data, and it’s performant, but the way it’s currently implemented needs to be redesigned to be more future-proof. There are a lot of reasons for data to not be available in the new Twitch API.
Here are some concrete examples we can give on how we deal with each piece of data, and decide whether or not to include it in the new Twitch API:
We want to give you the follower count for a specific user. However, adding it back into the User data object will greatly impact performance. We had to figure out the best way to give you all this data without impacting performance, and model it in a way that other data models going forward can use as well. Now that we’ve figured out how to do that, we should be releasing that to you Soon™️.
We have tracking IDs that are for internal use, which do not provide much functionality to you as a third party developer. Developers already have a way to identify unique objects, so we’re removing things like this internal identifier to simplify the API.
We weren’t sure about use cases for video duration, but after talking with a few devs, we now understand how that data would be helpful, so that has been added to the Video object.
Right now, we are being overly cautious about what we expose in the new Twitch API, since it’s easy to add data to models, but hard to remove data once it’s there. Any data removal could be a breaking change, and we don’t want to cause you all grief in that way.
We are always listening to feedback, so if there’s specific data that you really need for your tools, we’ll definitely consider adding it. Rather than be careless about how we move forward, we’re being cautious, and working hard to build a third party API that our developers can rely on and enjoy working with.