The !Subcount Command: Put Your Sub Total in Chat
A number chat can see is a number chat can push. Here's how to set up !subcount — and when showing it does more harm than good.
!subcountWhat Does the !Subcount Command Do?
The !subcount command posts your current subscriber total into chat, usually with a milestone attached: “412 subs — 88 to go until 500.” Someone types it, the bot pulls the live number from the platform, and everyone in the room sees the same target at the same time.
That shared visibility is the entire point. A goal that only you can see is a private worry; a goal chat can see is a group activity. Streamers who run subathons, charity pushes or milestone rewards lean on this command heavily, because a viewer who can see that you're twelve subs from a target behaves differently from one who has no idea where you stand.
Technically, !subcount is a step harder to build than most commands, and for a reason worth understanding: subscriber counts are private data. Follower counts are public — anyone can look at your channel page and read them, so a follower command works with no permissions at all. Sub counts are not public anywhere, which means the bot has to be authorised by you before it can see the number. Every setup path below is essentially a way of granting that permission.
The same mechanism gives you the neighbouring commands for free once it's connected: !followcount, !subgoal, and on some bots a !topsub or gifted-sub leaderboard. Set the authorisation up once and add the variations as plain text commands around it.
“Subscriber” Means Two Different Things
This trips up every streamer who works across platforms, and it will make your command's response confusing if you don't handle it. On Twitch and Kick, a subscriber is someone paying a monthly fee. On YouTube, a subscriber is someone who clicked a free button — the equivalent of a Twitch follower. YouTube's paid tier is called membership, and a channel with 40,000 subscribers might have thirty members.
So a !subcount that returns 40,000 on YouTube and 412 on Twitch isn't broken; it's reporting two completely different things. If you multistream, the fix is to be explicit in the wording rather than let the number speak for itself: “412 Twitch subs / 40.2K YouTube subscribers / 31 members” reads correctly to everyone. A bare number reads as a boast on one platform and a rounding error on the other.
There's a second YouTube-specific wrinkle: public subscriber counts are abbreviated, not exact. Above a thousand, YouTube displays a rounded figure, so a command reading the public number can't tell you that you're four away from a milestone — it will keep saying 40.2K for days. If precise counting matters, the number has to come from your own authorised channel data rather than the public display.
Kick sits closer to Twitch: paid subscriptions, exact counts, and a revenue split that makes each one worth noticeably more to you. That changes the tone of the command more than the mechanics — see the Kick chat commands guide for how sub-facing commands land differently there.
!Subcount Variations & Example Responses
| Command | Example Response | Notes |
|---|---|---|
| !subcount | 412 subs and counting. Thank you, genuinely. | The bare version. Fine on a healthy channel, flat on a small one. |
| !subcount (with goal) | 412 subs — 88 to go until the 500 celebration stream. | The version people actually respond to. Always name the next target. |
| !subcount (multi) | Twitch: 412 subs · YouTube: 31 members · Kick: 58 subs | For multistreamers. Label each platform or the numbers mislead. |
| !subgoal | Goal: 500 subs → 24-hour stream. Currently at 412. | Names the reward, not just the number. Better for a growing channel. |
| !followcount | 8,140 followers. Followers are free, by the way. Hint hint. | Public data, so it needs no authorisation — much easier to set up. |
| !subathon | Subathon clock: 14h 22m. Each sub adds 10 minutes. | Only during an event, but it's the highest-traffic version of this command. |
| !topgifter | Most gifted subs this month: @Dave with 25. Absolute legend. | Needs a bot that tracks gift history. Great for recognising the quiet spenders. |
Set Up !Subcount in StreamUps
StreamUps already holds an authorised connection to each channel you've linked, so the sub count is available to commands without a separate permissions dance.
- 1Sign in to StreamUps and connect the channels whose subscriber numbers you want to report — remember that YouTube's paid tier is memberships, not subscribers.
- 2Open the Commands section of the dashboard and add a new command.
- 3Set the trigger to !subcount and add !subs and !subgoal as aliases if you want them answering the same way.
- 4Write the response around the sub count placeholder and include your next milestone, for example: $(subcount) subs — $(subgoal) to go until the 500 stream.
- 5If you stream to more than one platform, label each number in the response so a YouTube subscriber count isn't read as a paid sub total.
- 6Set a global cooldown of 30-60 seconds, save, and check the number matches your dashboard before you point chat at it.
Set Up !Subcount in Nightbot
Nightbot's built-in Twitch variable exposes public channel data — followers, game, uptime — but not subscriber counts, because those aren't public. You'll need an authorised third-party endpoint for the number itself.
- 1Sign in at nightbot.tv and confirm Nightbot has joined your channel with moderator status.
- 2Authorise a sub-count API service with your Twitch account — these exist precisely because sub totals require the broadcaster's permission before any bot can read them.
- 3In the dashboard open Commands, then the Custom tab, and click Add Command.
- 4Set Command to !subcount.
- 5Set Message to your wording wrapped around the fetch, e.g. $(urlfetch https://your-subcount-endpoint) subs — next stop 500!
- 6Set User Level to Everyone and Cooldown to 30 seconds, then Submit. If the response comes back empty or as an error string, the authorisation has lapsed — re-link it rather than editing the command.
Set Up !Subcount in StreamElements
StreamElements is already authorised against your channel for alerts, so check its default command list before building a custom command — the number may be available to you without any external service.
- 1Sign in at streamelements.com, open the Bot section and confirm the bot has joined your channel.
- 2Go to Chat Commands and check the Default Commands tab for a subscriber-count entry. If one exists, enable it and set its cooldown and access level there — that's the whole job.
- 3If you want custom wording instead, open the Custom Commands tab and click Add New Command.
- 4Set the command name to !subcount.
- 5Build the response from the platform's subscriber-count variable if one is offered, or fall back to ${urlfetch https://your-subcount-endpoint} against an authorised service.
- 6Set Cooldown to 30 seconds and access to Everyone, save, and verify the figure against your own dashboard — a command reporting a stale number is worse than no command.
Milestones, Subathons and When the Number Helps
A sub count is only motivating when it's close to something. “412 subs” on its own is a statistic. “412 — 88 from the 500 stream” is a call to action, and the gap between those two responses is the entire difference between a command people use and a command people ignore. Always frame the number against the next target, and pick targets close enough to feel reachable: from 412, a 500 goal is a good stream's work, and a 1,000 goal is a shrug.
The command earns its keep hardest during a subathon, where subs extend the clock and chat is actively doing arithmetic about how long you'll be awake. In that format viewers check the number constantly, and having it available on demand saves you from reading it out every ten minutes. If you're planning one, work out your time-per-sub rates before you go live — our subathon timer calculator shows how quickly a generous rate turns a weekend into a week.
Now the honest counterargument: a visible sub count can work against you. On a small or declining channel, a command that answers “7” doesn't rally anyone — it quietly tells every new viewer that nobody else thought this was worth paying for, which is the opposite of the social proof you wanted. There's no shame in the number, but there's no advantage in publishing it either. Below roughly fifty subs, most streamers get more out of a !subgoal command that names the target and the reward without stating the current total.
The same applies after a churn month. Sub counts drop in January, after a big gifted-sub wave expires, and any time you take a break — all completely normal, all visible to chat the moment someone types the command. If you'd rather not narrate that, disable the command temporarily rather than let it broadcast a decline you're not talking about. It's your number and you get to choose when it's on stage.
One last framing tip: pair the count with what subs actually fund. “412 subs — that's what pays for the new camera” converts better than a bare figure, because it turns a vanity metric into a thing your audience is building. Combine it with a !socials command for the people who want to support without subscribing, and you've covered both halves of the ask.
!Subcount Command FAQ
Why can't my bot see my subscriber count?
Does !subcount include gifted subs?
Why does my YouTube sub count look enormous compared to Twitch?
Should a small channel show its sub count in chat?
How often should chat be allowed to check the sub count?
Can the command show progress toward a milestone automatically?
Is a follower count command easier to set up than a sub count?
Related Commands
!lurkLurk
Let viewers announce they're watching quietly without leaving the stream.
!followageFollowage
Show viewers exactly how long they've been following your channel.
!watchtimeWatchtime
Show a viewer's total hours spent watching your streams.
!soShoutout
Give another streamer an on-stream shoutout with a link to their channel.
!discordDiscord
Drop your community Discord invite into chat on demand.
!socialsSocials
Share all of your social media links in a single chat message.
!uptimeUptime
Tell chat how long the stream has been live at any moment.
!quoteQuote
Save memorable stream quotes and replay them in chat later.
!rulesRules
Post your chat rules on demand so moderation stays transparent.
!clipClip
Let chat capture the last 30 seconds the moment something happens.
!songSong
Show whatever track is playing right now without breaking your flow.
!8ball8ball
Answer chat's questions with a random magic eight ball verdict.
!hugHug
Give viewers a way to interact with each other, not just with you.
!specsSpecs
Answer the most-asked question on any stream: what's in your PC?
Set Up Chat Commands in Minutes
Add !lurk, !so, !discord, and more to your Twitch, YouTube, or Kick chat with StreamUps. No bot hosting, no code—just pick your commands and go live.