Does the list of subs in a channel include expired subscriptions?

If I hit up<channel>/subscriptions, does the returned list include subscribers whose subscription has expired? If so, how quickly are they removed? Right at the 30 day mark, or is there some padding before they are removed?

I am not certain but I believe the subscription does have about a 7 day grace period for renewal, which allows the user to maintain the “subbed for X months in a row” streak. I believe the use would exist until this grace period ended.

Thanks for the reply! I’m mostly curious to confirm that a user no longer appears in the return from the subscriptions API, regardless of any grace period that may be included before taking them off the list.

I’m working on something that rewards people every minute or so for hanging out in chat, and the amount of the reward depends on if they are a sub, follower, or neither. So I will need to track that status somehow, presumably without re-requesting the entire subscriber list every minute (this app will be running in large channels, with thousands of subscribers, and many more followers).

If you dont want to poll the API every minute, perhaps don’t check their presence in chat that often either. That every user needs to say something every minute (not counting the time out for being inactive in chat) to be rewarded doesn’t seem like a good idea to me. Maybe you could reward users for being active at least once within five minute intervals and poll the API every interval?

So I’m actually hitting up the<channel>/chatters endpoint every minute to see who is in chat. If that endpoint returns an error, then I just assume everyone who was in chat is still in chat, and try again in a minute. So far that seems to be fine.

The API endpoints for subscriptions/followers, however, are paginated and to get the complete list might take a large number of concurrent requests. From this post here where a twitch staffer says:

We do not support polling the full subscriber list very often

I assumed that once every minute was too often. But I suppose “very often” is not well defined, and maybe requesting all X pages of a subscriber list every 60 seconds is just fine. But assuming it is too much, I realized that, since the list is ordered newest first, I can stop requesting additional pages once I see a date older than the previous request’s newest date. Then in the typical case I’m only making one or two requests every minute. But that only tells me when new subscriptions start. It doesn’t tell me when an old subscription has lapsed.

To continue from my last post:

So what I’m thinking now is that in addition to checking every minute for new subscriptions, once a day I will request the entire subscriber list, looking for subscribers that are no longer in the list. This let’s me acknowledge people who’ve decided to subscribe within a minute of when Twitch makes that information available, but still catch (eventually) people who’ve decided to no longer support the channel.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.