3

Is there any way to set a Twitch Prime subscription to auto-renew?

Twitch Prime users are given one free subscription to use every 30 days. According to the the Twitch Prime FAQ, there is no official way to have Twitch Prime subscriptions auto-sub. Has anyone come up with a workaround for this restriction?

At the very least, I'd like a way to be notified when my free Twitch Prime subscription ends so I can remember to manually renew it.

1 Answer 1

2

Old question, but still relevant five years later. Having searched the web for the entirety of 3 minutes, my conclusion is no, there is no publicly available workaround for this, including via the Twitch API, which would no doubt be abused.

Disclaimer: I suspect that people have written public workarounds, and that Twitch sent them cease and desists, as such a program would violate their intended purpose for Prime Subs, and likely violates their terms of service.

As far as I know, there is nothing they could do about writing one yourself for private use, and unless you did something very strange, they'd have no way of detecting that you're subbing automatically. That said, if they did somehow detect it, they could very well global ban your account rendering its attached Prime account useless.

I have no idea if you're a programmer or not, but this may be possible using Node.js and puppeteer. To get around CAPTCHA, you'd likely need to disable headless mode when launching the browser one time

const browser = await puppeteer.launch({ headless: false });

log in, and then save the cookies for future launches. In this case, in addition to opening the page in order to sub, you would need to run the program and have it open the browser to twitch.tv in headless mode (in the background) once every 7 or 14 days (I can't remember how long it lets you stay logged in without reentering your password--I'd use 6 to be safe) in order to refresh the login token.

Alternatively, you could set the executable path when launching the browser to the path to Chrome/Chromium/Edge(?) where you are logged in. This might work; it may not if puppeteer won't let you use your browser profile, however this should™ be possible using the args option. (If you don't want to search for your executable path, you could use real-exectuable-path.)

import realExecutablePath from 'real-executable-path';

const browser = await puppeteer.launch({ 
  executablePath: await realExecutablePath('chrome'),
  args: [
    '--profile-directory',
    'Default', // or the internal ID of whatever profile you're using, e.g. Profile 1, Profile 2, etc
  ],
});

See https://superuser.com/a/723145 for details on retrieving that ID.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.