Issues with Twitch Account Status Verification Tool

I’m having trouble with my Twitch account status verification tool. It was working fine several months back but now it seems to be broken. I built this tool to check if a Twitch username has been banned or suspended from the platform.

var verify_account = function (username) {
    $(".info-text").fadeOut(30)
    
    $.getJSON('https://api.twitch.tv/kraken/users/' + encodeURIComponent(username) + '?callback=?').done(function (response) {
        if (/.+is unavailable$/.test(response.message)) {
            var msg = 'This account appears to be suspended from Twitch. Contact ';
            msg += 'Twitch support through their official channels to understand the reason. ';
            msg += 'We cannot assist with ban appeals.';
            display_result('error', msg);
        } else if (/.+is not available on Twitch$/.test(response.message) || /.+does not exist$/.test(response.message)) {
            var msg = 'This username either does not exist or is not a valid Twitch account.';
            display_result('warning', msg);
        } else {
            var msg = 'This account does not appear to have any restrictions. ';
            msg += 'If you are experiencing access issues, check your network connection ';
            msg += 'or disable any VPN services that might interfere with Twitch.';
            display_result('ok', msg);
        }
    }).fail(function () {
        display_result('warning', 'API request failed. Twitch servers might be experiencing problems.');
    });
};

var display_result = function (status, text) {
    var header_text = status === 'ok' ? 'No Issues Found' : status === 'warning' ? 'Something is Wrong' : 'Account Suspended';
    
    $('.output').attr('class', 'output');
    $('.output').html('<h4>' + header_text + '</h4>' + text);
    $('.output').addClass(status);
    $('.output').fadeIn();
};

$(document).ready(function () {
    $('#username-form').on('keypress', function (event) {
        if (event.which === 13) {
            event.preventDefault();
            var input_name = $('#username-input').val();
            verify_account(input_name);
        }
    });
});

Can anyone help me figure out what might be causing this to stop working? Any suggestions would be really helpful.

Your code stopped working because Twitch killed the old Kraken API in February 2022. You’ll need to switch to the Helix API (https://api.twitch.tv/helix/users), but here’s the problem - it needs OAuth authentication and won’t work with JSONP calls anymore. You’ll have to build a proper backend to handle the auth flow since browsers can’t make authenticated requests to Twitch directly now. I hit the same wall last year and ended up rebuilding everything with a Node.js backend to handle the API calls.

Yeah, Twitch moved to Helix and broke everyone’s tools. Instead of rebuilding a whole backend just for API calls, you can automate this way easier.

I had the same headache with social media monitoring tools. Setting up OAuth flows and managing tokens sucks when you just want to check account statuses.

What worked for me was using Latenode to handle the API complexity. Set up OAuth authentication once, and it manages token refresh automatically. Then build a simple webhook endpoint your frontend can call.

You can expand it to monitor multiple accounts, send alerts when status changes, or integrate with Discord notifications. All without touching server code.

I built something similar in 30 minutes. The authentication headache disappears when you let the automation platform handle it.

Check it out: https://latenode.com

The Kraken API shutdown totally blindsided most of us when Twitch pulled the plug. I ran into this same problem with a moderation bot I built for smaller streamers. Moving to Helix meant setting up OAuth flows, which felt like overkill just to check if a username was valid.

I spent way too much time wrestling with backend auth before I found a workaround. You can still hit Twitch’s public endpoints directly - just make HTTP requests to https://www.twitch.tv/users/username and check the response codes. Suspended accounts give you different status patterns than accounts that don’t exist. No API auth needed, and you get what you’re actually looking for.

Sure, it’s messier than those clean JSON responses we used to get, but I’ve been using this method for over a year without any OAuth headaches or server setup.

twitch killed that endpoint ages ago - kraken api’s been dead since early 2022. you’ll need helix now, but it won’t work client-side because of cors and auth requirements. had the same problem with my viewer tracker and just ended up scraping profile pages instead. setting up oauth felt like overkill for basic status checks.