Using this part of the API “https://api.twitch.tv/kraken/users/userID/follows/channels” The returned “_total” is wrong. This also shows on the Twitch.tv website. If you go the follows page and count up the follows, the count is wrong compared to the number it shows.
I could be wrong, but I think the two numbers are cached at different rates and the API one is likely cached more so than the actual site. While the difference may not exist on small/non streamers users, there will definitely be a difference with larger streamers.
You are correct, there is a caching factor to consider. You may also get different answers in subsequent hits as you are passed between different API servers and cache servers.
I understand there is a cache but the numbers are still wrong. I haven’t touched my follows in over a month and it shows 50 on the follows page and a total count of 52.
I have checked a few other Twitch profiles and all of them are the same. All showing an extra 2 in the total follower count.
This is from my page:
illusion% curl -X GET https://api.twitch.tv/kraken/channels/illusionaryone/follows?client_id=mine
{“_total”:161,"
It seems to match, are you talking about the raw records or the _total value from the web service call?
What I’ve noticed is the _total count updates, but the actual list doesn’t at the same time.
So it’ll report the channel gained a follower, but the “follows”: […] array wont contain the new follower object until a small time later (its de-synced).
Sorry for the late reply. For example if you check out my page https://www.twitch.tv/scottrc/following it says “52” under Following. If you then count the actual profile banners below it only adds up to 50. I haven’t changed me follows list in over a week.
I had a look at my own results out of curiosity, and my _total
is also 2 higher than the number of items in the follows
array. It says I’m following 102, but I’m only getting 100 results back (and yes, I am checking once with a limit of 100, and again with an offset of 100).
After testing using a limit of 1, it’s specifically at an offset of 95, and again at 100, that I receive {"_total":102,"follows":[]}
. So _total
seems to be including those 2 empty values in its count. As to what caused those empty values I’m not sure of, only thing that comes to mind might be an account being deleted/banned and for those following that account to still be following it, but as the account would not contain a bio, logo, status etc… the follows API wouldn’t include it in the results and just continue on to the next in the list.
I agree, I checked a few other accounts and some have the extras and some do not.
Bumping this up with a (redacted) example of the de-sync issue I mentioned earlier. Its a bit annoying since now I have to compensate for this.
Notice how the _total count goes up but user 45896581 stays at the top of the follows list until a subsequent request (~20s later):
{
"_total": 259758,
"follows": [
{
"created_at": "2017-06-20T21:42:19Z",
"user": { "_id": 45896581 }
},
{
"created_at": "2017-06-20T21:42:14Z",
"user": { "_id": 129776959 }
}
]
}
{
"_total": 259760,
"follows": [
{
"created_at": "2017-06-20T21:42:19Z",
"user": { "_id": 45896581 }
},
{
"created_at": "2017-06-20T21:42:14Z",
"user": { "_id": 129776959 }
}
]
}
{
"_total": 259760,
"follows": [
{
"created_at": "2017-06-20T21:44:07Z",
"user": { "_id": 91700582 }
},
{
"created_at": "2017-06-20T21:43:47Z",
"user": { "_id": 24289235 }
}
]
}
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.