How to Get an Exact Follower Count via API (Not the Rounded 4.4M)
A customer building an influencer database asked us a very specific question: can they get the exact follower count, 4,399,675, not the 4.4M the app shows? For their use case, deduping creators and tracking week-over-week growth, a rounded number is useless. A creator can gain 40,000 followers and the "4.4M" never budges.
Good question, and the honest answer depends on the platform. Two of the big three give you the exact integer. One refuses to, and it's not our call. Here's the breakdown.
TikTok: exact, in the right field
TikTok's profile response actually contains two follower numbers, and this trips people up. There's a rounded one and a precise one.
data.stats.followerCountis often the rounded figure (e.g.4,600,000).data.statsV2.followerCountis the exact count, returned as a string (e.g."4567606").
So the fix is to read statsV2 first and fall back to stats. We pulled MrBeast's TikTok and statsV2.followerCount came back 139347962, the real number, not 139.3M.
const API = "https://api.sociavault.com/v1";
const HEADERS = { "x-api-key": "sk_live_your_key" };
async function tiktokFollowers(handle) {
const res = await fetch(`${API}/scrape/tiktok/profile?handle=${handle}`, {
headers: HEADERS,
});
const d = res.ok ? ((await res.json()).data ?? {}) : {};
// statsV2 is a string and exact; stats can be rounded. Prefer statsV2.
const exact = d.statsV2?.followerCount ?? d.stats?.followerCount;
return exact != null ? Number(exact) : null;
}
console.log(await tiktokFollowers("mrbeast")); // 139347962
statsV2 values are strings, so cast to a number before you do math. And read defensively: if statsV2 ever comes back empty for a given account, stats.followerCount is your fallback (rounded, but better than nothing).
Instagram: exact, and simple
Instagram is the cleanest of the three. The public profile returns data.data.user.edge_followed_by.count as a plain integer, no rounding. We pulled the Vietnamese artist Sơn Tùng M-TP and got 8216937; Marques Brownlee's account returned 5211880. Those are exact.
import requests
API = "https://api.sociavault.com/v1"
HEADERS = {"x-api-key": "sk_live_your_key"}
def instagram_followers(handle):
r = requests.get(f"{API}/scrape/instagram/profile",
params={"handle": handle}, headers=HEADERS)
user = r.json().get("data", {}).get("data", {}).get("user", {})
return (user.get("edge_followed_by") or {}).get("count")
print(instagram_followers("mkbhd")) # 5211880
Note the double data.data nesting on Instagram, that's the envelope wrapping the raw payload. Reach for edge_followed_by.count, not a top-level follower_count.
YouTube: rounded only, and there's no workaround
Here's the one you can't fix. YouTube stopped publicly displaying exact subscriber counts back in 2019 — they abbreviate to three significant figures for everyone. So the public data simply doesn't contain the exact number, and no scraper or API can conjure it. We pulled a channel and got subscriberCount: 222000 with subscriberCountText: "222K subscribers". That 222,000 isn't precise; it's the rounded 222K expressed as a number.
Be skeptical of any provider claiming exact YouTube subscriber counts for arbitrary channels, that data isn't public, full stop. The only person who sees the exact number is the channel owner in YouTube Studio.
What YouTube does give you exactly: view counts and video counts. We pulled viewCount: 21755628 and videoCount: 29, both precise. So if your growth signal can lean on total views rather than subscribers, you're back on solid ground.
async function youtubeChannel(handle) {
const res = await fetch(`${API}/scrape/youtube/channel?handle=${handle}`, {
headers: HEADERS,
});
const d = (await res.json()).data ?? {};
return {
subscribers: d.subscriberCount, // rounded (e.g. 222000 from "222K")
subscribersText: d.subscriberCountText, // "222K subscribers"
views: d.viewCount, // exact
videos: d.videoCount, // exact
};
}
The quick reference
- TikTok → exact,
statsV2.followerCount(string; fall back tostats.followerCount). - Instagram → exact,
edge_followed_by.count(integer). - YouTube → subscribers are rounded only (platform limitation); views and video counts are exact.
Each of these is a single profile/channel call, 1 credit. If you're tracking growth, snapshot the exact numbers on your own schedule; the API returns the current value, not a history (more on that below).
What this can't do
- No exact YouTube subs, by anyone. This isn't a SociaVault limitation, it's that YouTube doesn't publish the precise number. Plan around views instead.
- No built-in history. Every call is a point-in-time snapshot. Week-over-week growth means you store daily/weekly snapshots yourself and diff them.
- Hidden or private accounts. A private account won't expose a public follower count. And accounts change handles, key your database on the stable numeric user ID, not the username.
- Follower count is a weak quality signal on its own. Exact or not, the number says nothing about whether those followers are real. Pair it with engagement, and if authenticity matters, a fake-follower check. We argued this at length in the death of the follower count.
Frequently Asked Questions
Can I get the exact follower count on TikTok?
Yes. Read data.statsV2.followerCount from the profile response, it's the exact number as a string. data.stats.followerCount is often rounded, so prefer statsV2 and fall back to stats.
Does Instagram return an exact follower count?
Yes, data.data.user.edge_followed_by.count is a plain, unrounded integer. In our tests it returned figures like 8,216,937 and 5,211,880 exactly.
Why can't I get an exact YouTube subscriber count?
Because YouTube stopped showing precise subscriber counts publicly in 2019. The public number is abbreviated (e.g. "222K"), so no API can return the exact figure for a channel you don't own. View counts and video counts, however, are exact.
Is the follower count real-time?
It's current as of the moment you call, a live snapshot, not a cached figure and not a time series. To track growth you record snapshots on a schedule and compare them.
Why is the TikTok count a string?
statsV2 returns its numbers as strings. Cast to a number before doing arithmetic, and handle the rare case where statsV2 is empty by falling back to stats.followerCount.
Should I dedupe creators by username or ID?
By the numeric user ID. Handles change; IDs don't. Storing the ID keeps your database stable when a creator renames their account.
Need exact counts across a creator list? Grab a free key (50 credits, no card) and pull real profiles from TikTok, Instagram, and YouTube to see the exact fields for yourself.
Found this helpful?
Share it with others who might benefit
Ready to Try SociaVault?
Start extracting social media data with our powerful API. No credit card required.