Deprecation of Create and Delete Follows API Endpoints

The Twitch API powers a diverse range of applications and use-cases. With each endpoint, we take care to ensure we are providing functionality that will help developers create tools for our creators and engaging experiences for our viewers, all to make the Twitch community strong, safe, and fun. While the ability to follow and unfollow channels with our APIs opened up novel use cases for developers, at times these APIs have also been used by bad-faith actors to harass our community and create fake engagement. In the interest of protecting the Twitch community from these types of abuse, we are removing these endpoints from our API.

Today, we are announcing that we will permanently shut down the Follow Channel, Unfollow Channel, Create User Follows and Delete User Follows endpoints in the Twitch API and V5 on July 27, 2021.

If your application uses these endpoints, please update your implementation to prevent downtime or errors before the shutdown date. Effective today, Twitch applications that have not previously accessed these endpoints will not be able to access them. If you need help or have questions, please feel free to comment below.

Update (2021-07-27): The follow API endpoints have been removed.

Great. Another thing against follow bots? They’ll always find a way, be it whatever internal API the website is using or a lot of Selenium browser instances. What do we, the genuine third party devs get for this? We get the endpoints we rely on removed (without replacements of course). No more chat clients that can create follows effortlessly and seamlessly inside of the app. Nor nicely integrated follow buttons. I guess.

10 Likes

I suspect that this would have been useful for a number of cool things, like keeping track of/showing off channels that a bot was in, or that use an extension, but I can also see that it was simply asking for abuse in its current form. (mind, as was posted above, spammers will find a way without it)

I hate to ask, but would the back end ever allow the possibility of restricting endpoints to verified accounts/developers (developer badge)? It might allow endpoints like this to be enabled without massive abuse. I know, UserVoice, but this feels like a weird one, and I want to know if its even possible first.

2 Likes

Discussion about this change occured in the Developer Discord.

The removal of these end points make it difficult for a “non moderation bot” to auto operate in a channel.

Broadcaster foo wants bot bar in their channel.
Bot bar doesn’t do moderation events, it’s just a “information” bot so foo doesn’t want to give bar moderation powers, jsut in case.
So normally bot bar would use the follow endpoint to follow bar, as the foo’s channel uses follower only mode and doesn’t expect to be vip’ed or mod’ed in bar’s channel.
With the removal, the bot owner has to do it manually.

Uservoice exists here for consideration: Bot auto follow a channel – Twitch UserVoice

2 Likes

Bad-faith actors are going to use unofficial API endpoints and other methods. This feels like it only harms legitimate devs in the long run.

Verified endpoints/whitelisting feels like a better solution here imo.

3 Likes

It’s worth keeping in mind a couple things. Firstly if this is to stop bad actors, it’s not fair to assume that Twitch isn’t also taking action against use of unofficial endpoints and implementing restrictions and limitations on those endpoints too, but because they are not for public use any sort of changes there wont be disclosed.

Secondly, lots of people have a few hypothetical ideas on legitimate use cases of this feature, but how many here actually use this feature and in a way that there’s no alternatives, and how frequently is it used? Even on the Discord discussion of this there was a lot of focus on things Twitch could do, like a whitelist, or verification of some sort, to allow some apps access to these endpoints but not others etc… but there has been very little talk about any dev that actually uses these endpoints in production.

1 Like

I’ve not (un)followed a single person using the website since I started using Chatterino (which uses the helix endpoints). It’s way simpler and faster to type /follow [user] (or click a single checkbox) instead of having to open a heavy browser process, download 50 MB (educated guess based on loading times) worth of website and wait for all the JS to execute just so I can click a follow button and close it all again. So I use this feature :slightly_smiling_face:

3 Likes

As @Mm2PL stated above, I find that to be a very useful feature that and something I use regularly. Albeit this is a “power user” case, thats part of the reason the API exists, for power users and developers to have close integrations with the site, making theirs and their users lives easier.

I personally don’t use the Create User Follows endpoint myself, but I recently found a reason to use it (although not implemented yet) where I needed to be following a channel for my bot to create a clip for a user since they had followers only mode enabled for clips. The UserVoice that Barry raised would help with this, but we would need to make sure it works for “non chat bots” as well, for the reason I just raised.

I regularly use the delete followers endpoint for broadcasters, and I’m uncertain why this fell automatically in with the create followers for removal. I understand bad faith actions could easily use the create followers as apart of follow bots, but what harm exists with the delete endpoint, all it does is reverse the create action, which is already being restricted based on this announcement?

I understand this was discussed in Discord already, but there was no way for a lot of us to know this conversation was going on unless we were all watching the Discord to await for this conversation to come up, which none of us would’ve just expected to happen. If it was “open to discussion”, an RFC, forum post, etc. to get some more thoughts and feedback would’ve been nice, because I had no idea this discussion happened, and I don’t have the time to sit there and watch the Discord for discussions about endpoints just going away because some people used them improperly.

I’m sure Twitch is doing more to help prevent abuse in all the avenues they can do this including via internal APIs, but its unfortunate 3rd party developers have to suffer due to these bad actors.

4 Likes

@TravistyOJ while I see potential abuse of following users by e.g. commonly known “follow bots” or other shady things that mass-follow streamers I don’t see any reason for removing unfollow / delete user follows endpoints whatsoever. There’s no harm being done in unfollowing someone that you’ve been already following.
If you’re really going to shut down those APIs (which I am also really mad about, because it is currently the only alternative to using bloated website in order to just follow someone and then closing it) at least consider leaving Delete User Follow endpoint untouched - I’m certain there’s no reason to remove it and you just don’t care about third-party developers at all given by this and other recent actions related to releasing bugged and horribly incomplete APIs.

7 Likes

It could be argued that having an unfollow endpoint allows for the potential to erroneously remove follows with no possible way to recover programmatically, as it would require user intervention to redo those follows.

Another reason is that again there is a workload element to maintain support for endpoints, so perhaps there is not sufficient justification to outweigh that upkeep.

I don’t know what world you guys live in where deleting this endpoint will put a stop to botting, but I sure as hell don’t want to live there.

7 Likes

To similar points that other people raised, streamers do use external software to manage their channels and don’t always use the Twitch Dashboard as their main source. Sometimes it’s nice for the Streamer in their bot software to be able to click on a user in their stream and be able to follow them right away. It’s a minor inconvenience that they now need to head to the website to do it, but there are legitimate cases of where this is being used.

Not dismissing what removing this is trying to solve, but I think saying that there was little discussion of devs that actually use this means that no one is using it. The fact that developers are presenting alternative ways that this could be solved means that obviously people care about keeping the endpoint. If no one cared about it, no one would argue for alternatives as opposed to just straight removal.

2 Likes

I’m not saying there wasn’t apps using these endpoints, but rather these endpoints see much less legitimate use than other endpoints and in the case of user interaction triggering a follow (such as using a 3rd party app that has a follow button/command initiated by the user) there is an alternative to still perform that action (albeit less conveniently).

I only have a small sample size for this (in the hundreds of thousands of active users), but from what I see its not a frequent occurrence to follow a channel. Following is an important and key part of Twitch, but following channels isn’t an every day thing, it’s not uncommon for most channels to go weeks or even months without changing who they follow.

The point I’m trying to make is that these endpoints see less usage than most, and the apps that use it often have it as a feature of convenience rather than something mission cortical to the app.

I would imagine other steps are being taken in other places against it.

They just won’t tell us about that publically. Since it doesn’t direct third party development or documented endpoints that are open for third parties to use.

So, this is probably part of a larger work against the botting issue.

Argh… unhappy to see this feature removed, as I have an application that presents a Follow button to help with Twitch channel discovery.

Is there any way to get on an ‘approved list of applications’ or similar to continue using this feature? Providing that follow capability is really a central feature of the application - assisting in discoverability of Twitch channels

3 Likes

I am also disappointed with this. These endpoints are a major feature in my app. Considering how things are going it seems likely that I will have to remove it, which breaks my heart. I see a lot of larger companies removing public usage of APIs or heavily restricting them and as a developer this can be a crushing blow

2 Likes

I’m a bit disappointed in this; my bot works well without mod permissions, but needs to follow to talk in following only chats (like any other user). There’s a command to force a follow, but it’s largely automatic based on IRC notices. I don’t really want to create a barrier to entry or have more work to do by making this process manual.

I saw in that UserVoice that verified bots apparently bypass the follower only mode check; is that definitely the case? I didn’t know that was a perk (and may at least help my bot’s two main usernames).

Oh man, it’s Murphy’s Law.

As soon as I started using the Twitch API, they immediately began to cut its functionality. Yeah, it seems for a good purpose, but white developers will suffer.

Typical.

1 Like

So if I understand correctly, there’s no longer a way to unfollow users using any of the provided official APIs? What does that achieve? Why is Twitch always so developer hostile?

2 Likes

It achieves the reasons set out in the announcement post.

As the original posts mentions, Twitch has to weigh up the legitimate use cases, and how many developers/users actually make use of these endpoints, against the devs acting in bad-faith to abuse the endpoints. Safety and security of the platform will always take priority above 3rd party use cases.

As for the accusation that Twitch is hostile against developers, you’re more than welcome to make your voice heard on UserVoice https://twitch.uservoice.com/forums/310213-developers and offer your input as to why you think that those endpoints are needed for your use case.