Deprecation of Create and Delete Follows API Endpoints

I’d be curious to know how unfollowing can be used to create fake engagement. More likely it was just removed for symmetry with CREATE and with little care about developers that rely on it.

EDIT: I do see your argument about it above, and that seems like a poor justification to ruin apps devs have worked hard on and that people rely on, and is the exact definition of developer hostile.

I beg to differ, my application is specifically about helping people clean up their follow list more easily and in a more streamlined way, something that Twitch itself doesn’t really provide. It literally is the core functionality of the tool.

I have, many times, and nothing has ever come of it. Twitch only really takes care of the APIs they use themselves and ever since they split off their own use to GQL, the public API has expectedly gotten nearly no attention.

In my years working with APIs from dozens of companies, none have ever been as unpredictable and erratic as Twtich’s. I still have Steam tools written over a decade ago running without a hitch, while I’ve had to continuously patch my Twitch ones yearly, and many have been broken permanently. Do you t hink Steam doesn’t get abuse? Twitch continuously makes devs toil away with trivial changes just to avoid any extra work on their end.

So yes, I very much have years of evidence to backup the accusation I made, and every other developer I know shares similar feelings. It’s unfortunate because I used to love making tools for Twitch, but I’ve only been left with a bad taste in my mouth.

3 Likes

Unfollow today and refollow tomorrow causing a “new followers this stream” to increase and/or fire an overlay alert again and again for example. Not everyone uses a tool/overlay that remembers and dedupes over long(er) periods of time than a single stream.

The chant log seems to suggest a number of endpoints both new and old have been moved/create on the “New API” aka Helix - Changelog | Twitch Developers

There is a lot of “untriaged/uncommented” stuff but not all things are “ignored” or appear to be ignored.

Potentially an unfair comparison since steam doesn’t “change” too much on what the main platform does. Twitch is still evolving so can’t stay as static.

Unfollow without refollow is useless to bots. Once you remove CREATE, there’s no reason to also remove DELETE.

Yes, and Helix was missing half the functionality of previous APIs yet they still deprecated the old ones, and we’re now 2-3 years in and still, the majority of the asks from UserVoice have been sitting there unanswered. Again, companies rarely put much effort into APIs they don’t rely on themselves.

Follows are a core functionality. Getting list of hosts is a core functionality. Clips are a core functionality. Being able to follow/unfollow a game was never implemented on Helix. APIs for these things being removed or broken has nothing to do with the site changing, it has to do with Twitch taking the easy way out and not caring enough about developers to maintain backward compatibility or endpoints that don’t get enough traffic. Why work on real mitigation efforts when you can just kill a whole endpoint, with zero care about people that rely on it.

1 Like

I do not think it was Twitch’s intent to “ruin apps”, but 3rd party API endpoints must prioritize certain needs, including security, privacy, and minimising potential misuse, among other things.

I get that you are mad, but making random assumptions like this is done to avoid work on their end is quite a stretch. If you don’t think that Twitch takes into account how many client id’s use these endpoints, how many users make use of those apps, and take in suggestions from the community to work towards the best solution that is possible, you are mistaken.

Some functionality is missing by design. Just because something exists in v5, does not mean there are plans to put it in Helix if it is not already there.

So you think Twitch should devote time and resources to maintaining legacy functionality, that was never guaranteed to be migrated to Helix, for endpoints that have little use? As for “zero care about people that rely on it” you’ve had years to make your case as to why an endpoint should be in Helix if it isn’t already and make plans and preparations for v5 removal like every other developer that has done so and you’ve had time to state your use case on the more recent changes too such as these follow related endpoints.

Twitch listens to developers, but just because they don’t do what you’re yelling for them to do doesn’t mean they don’t care, it’s just that they are going with a different option.

I’m not making these comments because I’m “mad”, I’m speaking with over 7 years of experience working with Twitch APIs, and that’s what my experience (and that of other Twitch third party dev I know) has been. I have never “yelled” for them to do anything, I have followed all the proposed pathways and none of them have ever been fruitful, and I’m just sharing my experience. There’s not much reason to continue arguing here since we clearly have a very different experience. At the end of the day, it’s Twitch that will suffer alienating away all the developers that create free tools, and dismissing people that have criticisms sure won’t make things better.

1 Like

Care to share where all of these developers that are being alienated are? Looking at UserVoice there’s not a huge number of developers utilizing or wanting these endpoints. Looking at the TwitchDev discord there have been a few users who have been hit by these changes but the vast majority are either unaffected or have simply moved on and designed their apps accordingly.

Your wording sounds like you’re trying to insinuate there’s more of an issue with these changes by developers or their users than there actually is.

Is there anything prevent your app linking to the broadcasters channel, so not only could they follow the channel but also subscribe, read the bio section, social links, panels etc?

Hi @EhsanKia, just wanted to jump in and say we appreciate your feedback. We’ve been working to provide a stable, long-term API and broader set of third-party products, and some of these changes are difficult decisions even from our perspective. The end goal is to be in a state with longer term products that you can rely on as you have mentioned other companies have provided. We are not intentionally being hostile, though I can understand interpreting some of these changes that way as a developer myself.

Removing the follow functionality from the API was a quick turnaround for sure. We understand it is a desired use case, so I’m curious myself if there are other ways Twitch can provide this functionality to third parties outside of the API and without the risk of abuse. It’s something to be discussed and what I’d like to advocate for in some way.

We consider all feedback that is submitted through UserVoice, so adding your comments and use cases to those suggestions and upvoting is definitely the right way to get those ideas to the right teams for consideration.

I definitely need to explore the solution you mentioned above- but it ruins the end users easy experience and makes it a multi-click step solution

Imagine your in a good rhythm of videos being played and entertained, there used to be an easy button to click to hit follow so you can keep scrolling down to the next clip but entertained enough to throw that creator a follow knowing that the next time your on twitch you’ll see that name pop up on the left hand side of your twitch viewing bar

1 Like

Hi @jbulava

I added a UserVoice thread suggesting there be an Approved Developer/Application process for partners/applications that serve a good purpose and use case can get access to the follow/unfollow and maybe a special set of access to certain API’s

There are tons of good ways us 3rd party developers can assist in helping fill in the gaps by building products, tools, applications to help both twitch streamers and viewers. Our application is built to help the small twitch streamers get discovered and gain viewers which will hopefully help more people become full time streamers.

Eliminating the API and not having a plan for these types of applications that are going to be majorly impacted is a really tough pill to swallow and maybe the above could be a good solution so we can get our access back.

1 Like

I do think there should be some sort of vetting process for certain endpoints for trusted apps. Like the partner program for developers. Partner streamers get elevated access to features automatically like emote approvals until they are misused. Once a developer is “approved” they can get elevated access to certain endpoints like this one or maybe new future endpoints too.

1 Like

At least it’s better to downright remove this API than do what happened to whispers and add spam filters which block everyone but some users who can actually send whispers without getting cryptic errors or the interface just not working. :frowning:

Whispers broke and you can’t receive PMs from what Twitch considers strangers, only way to fix it is to either give them mod powers in your chat or follow them. Great that the create/delete API for follows doesn’t fucking exist anymore.

I don’t really know what to say. I am shocked about this decision, disappointed, annoyed, mad, and to be honest, not even surprised. Unfortunately, I’ve only seen this announcement just now, as I’m currently affected by the major floods in Germany and still don’t have an internet connection at home with very limited mobile connectivity.

With the decision of entirely removing the follow/unfollow API endpoints on both kraken and helix, you’re killing one of the (last) major features of my application which I’ve been working on and maintaining for eight years, since 2013.

The reason for your decision seems very shortsighted and not properly thought through. Developers of abusive bots will for sure find other ways around that, eg. by simply switching to your GQL API, and all you’re achieving here is hurting legitimate developers who have been using your public APIs for several years.

Let me say it as it is, this is probably your biggest public API related fuckup yet. And I’m saying this with the entire history of mismanagement and negligence of the past years in mind, namely on kraken v3, kraken v5 and helix, especially with how you’ve been treating us 3rd party developers. Last year you’ve finally promised to improve the overall public API situation, especially on helix, as kraken was being cut down again and again for no apparent reason, but even this hasn’t really been accomplished yet, and now you’re basically blowing a big hole into the feature set of both of them, without any plans of not hurting your legitimate 3rd party developers. Great job!

What I find unbelievable is that instead of providing a solution for those legitimate devs, you’re waiting for our reactions to your decisions first and then expect us to make suggestions on your feedback tracker, which will then probably be ignored, just as usual, same with dozens of API bug reports on GH, etc. Not to mention that any “solution” which would require a workaround, like for example making the user visit your website in their web browser just to follow/unfollow users/channels (and games) would be an incredibly bad user experience for basically every 3rd party application, and is thus not a “solution”.

What you should’ve done instead of simply removing the follow/unfollow endpoints on kraken and helix in such a weird rush, is either whitelisting trusted devs or rate-limiting follow/unfollow endpoints with entire client-IDs, so that registered applications can’t abuse the endpoints. Since you should have enough data about which client-IDs are abusive and which are not, whitelisting/approving legitimate developers sounds like a no-brainer. Maybe even implement different levels/tiers of trust for devs which will unlock certain features. This would also help with bots which are distributed over multiple client-IDs.

Properly contacting us developers with simple emails instead of writing this “rather hidden” thread on your dev-forums which most of us will only ever visit once or a couple of times a year should’ve also been a no-brainer, but this shows how you’ve been treating us 3rd party devs. Please also don’t say that you’re not neglecting the state of your public APIs, because that’s exactly what you’ve been doing, especially since the days of the GQL API on your website, as already pointed out in this thread.

Removing such important features and how this is being handled is the equivalent of showing us the middle-finger. And this will of course also hurt smaller channels on your platform, as users of 3rd party application won’t be able to follow with their accounts.

2 Likes

For the record, from the Twitch Blog when it was posted with the one month warning

And this Forum Post/Blog Post were cross posted to the announcement section of the Developer Discord. And cross posted to the libraries Discord

Both of which you can find linked on Support | Twitch Developers

So it wasn’t just posted to the Dev Forums. You can also enable notifications for the announcement category of the forums to recieve announcements via Email.

Can you share your data used to make this claim of how big the impact is, particularly on smaller channels? I’ve not seen any evidence of this beyond those who are developers of these apps making angry accusations without anything to back up the usage of such endpoints, as even within the developer community there is little support on UserVoice for this.

I agree with this 100%. Users are accustomed to seeing a :heart: and being able to favourite/unfavourite , follow/unfollow, bookmark/unbookmark profiles and listings from AirBnB and similar apps. Having to open a new tab to leave the platform to accomplish the same thing not only breaks the user experience but as a developer makes it not worth trying to include the feature to begin with, no matter how much it may benefit smaller streamers in particular.

As a case in point, I had plans on developing such a feature that would allow users to easily follow streamers of interest, that I am sure would have benefited hundreds and hopefully thousands of smaller streamers, but as I saw here that the endpoint was being deprecated I sadly moved that user story to the icebox. :disappointed:

If whitelisting apps for enhanced API endpoints like follow/unfollow is off the table, I think rate-limiting by app (App Token) or by user (OAuth), or both, is a very sensible suggestion that ought not to lend itself to abuse in the same widespread way that led to the concerns with these two API endpoints to begin with.

2 Likes

I will also echo the sentiment that I’m very frustrated by the lack of appropriate communication here. Our product did use this API but we have the luxury of being able to migrate to the GET endpoint.

A forum and blog post is not an appropriate communication mechanism for breaking changes like this. Our product is huge and interfaces with a dozen API providers and it’s impractical for us to be checking the every provider’s blog/Twitter/forums. The bare minimum here should have been proactively sending an email or two.

This last point is less egregious and more open for debate, but I also believe in inappropriate status code was chosen when deprecating the endpoint. HTTP 410 would’ve been my preferred choice given that returning 404 was a valid and acceptable response when the endpoint was working. I acknowledge that we should have been matching on specific messages rather than purely the status code, but handling this better would’ve reduced our troubleshooting time greatly.

2 Likes

I also just discovered there’s no way to follow/unfollow in the new API and that has thwarted a planned a legit usage for it. My game SpyParty has a notifier that uses the twitch API and tweets and posts in our discord when people stream the game. I do different cool stuff depending on how many times they’ve streamed it (for example expanding their preview card on discord after they’ve streamed 5 times), and I was planning on having the official channel follow folks who regularly stream the game so its lists of followers basically matched the current streaming community for the game. It appears I can’t do that now.

I agree with the posters above that any spammers are just going to use selenium or whatever and this probably barely slowed them down and only impacts legit developers, and having a whitelist application for devs and rate limits would have been a much better solution for the twitch developer ecosystem.

Chris

PS. I’m also not a huge fan of the “vote it up” way of doing feature requests and bug fixes by sites these days, you end up with a bunch of surface level sexy stuff that doesn’t actually make the core system any better or more flexible, in my experience.

1 Like

Given this doesn’t show on the website for other people, and only shows to the person logged into the official channel’s account.

You just need a page on your website somewhere that will list the channels that meet this crtieria that are live. Since using the API you can look up 100 channels stream status in one go. This also means you don’t hit the 2000 “people I can follow” limit.

Hi, I already have that page on the website and have for years. Players think it’s really cool when the official account follows them. For a small to mid-sized indie game, there are nowhere near 2000 people regularly streaming the game so that’s not a remote worry and would be very much in the “good problem to have” category, but hey, that limit is just another argument for having an API that can follow and unfollow because I could have the bot curate the list to whatever limit based on whatever stats I wanted. Thanks for your thoughts on this matter.

Chris