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.