Deprecation of Create and Delete Follows API Endpoints

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

3 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.

4 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:

5 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

3 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).

1 Like

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?

3 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 Developers: Top (518 ideas) – Twitch UserVoice and offer your input as to why you think that those endpoints are needed for your use case.

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.

4 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.