Back to Blog
TikTok

TikTok Audience Overlap Analysis: Find Shared Followers Between Creators

August 24, 2026
6 min read
S
By SociaVault Team
TikTokAudience AnalysisInfluencer MarketingCreator EconomyData Analysis

TikTok Audience Overlap Analysis: Find Shared Followers Between Creators

When you're planning a creator collaboration, a giveaway, or a roster of influencers for one campaign, there's a question that quietly decides whether it works: how much do these audiences overlap? Book three creators whose followers are the same people and you paid three times to reach one audience. Find creators with complementary, barely-overlapping audiences and one campaign compounds. Audience overlap is the metric that tells you which situation you're in, and you can estimate it from public follower data.

Here's the method, and an honest account of what it can and can't tell you.

Why overlap is the metric that matters

Two creators can have identical follower counts and be worth completely different things to you depending on overlap:

  • High overlap between creators you're booking together = wasted budget (you're re-reaching the same people) but potentially great for a co-sign (their shared audience sees mutual endorsement).
  • Low overlap = genuine reach expansion; each creator brings distinct people.

So overlap isn't "good" or "bad" in the abstract, it depends on your goal. For reach, you want low overlap. For credibility and social proof in a tight niche, some overlap helps. Either way, you need to measure it rather than guess.

Pull the follower lists

SociaVault exposes a creator's public followers on TikTok. Base URL https://api.sociavault.com/v1, x-api-key header, 1 credit per call, payload under data:

import os, time, requests

API_KEY = os.environ["SOCIAVAULT_API_KEY"]
BASE = "https://api.sociavault.com/v1"

def followers(handle, pages=5):
    ids, cursor = set(), None
    for _ in range(pages):                 # cap pages: follower lists are huge
        params = {"handle": handle}
        if cursor:
            params["min_time"] = cursor
        r = requests.get(f"{BASE}/scrape/tiktok/followers",
                         headers={"x-api-key": API_KEY}, params=params, timeout=60)
        r.raise_for_status()
        data = r.json().get("data", {})
        batch = data.get("followers", []) if isinstance(data, dict) else []
        for f in batch:
            uid = f.get("id") or f.get("uid")
            if uid:
                ids.add(uid)
        cursor = data.get("min_time") if isinstance(data, dict) else None
        if not cursor:
            break
        time.sleep(1)
    return ids

Confirm the exact field names from a live response. And read the very next section before you take the result too seriously, because this is where the honesty has to come in.

Overlap on a sample, not the whole audience

Here's the crucial caveat, stated up front rather than buried: you are almost never pulling a creator's entire follower list. Big creators have millions of followers; you're pulling a capped sample (a few pages). So what you compute is the overlap between two samples, which is an estimate of the true overlap, not the exact figure.

That's still useful, a sample-based overlap estimate is directionally real, especially for relative comparisons (creator A overlaps more with B than with C). But anyone who claims an exact "37% audience overlap" from public data is overstating what's knowable. Compute it, label it an estimate, and use it comparatively:

def overlap_estimate(a_ids, b_ids):
    if not a_ids or not b_ids:
        return None
    shared = len(a_ids & b_ids)
    # Jaccard-style ratio on the samples: a relative estimate, not exact truth
    return {
        "shared_in_sample": shared,
        "overlap_ratio": round(shared / len(a_ids | b_ids), 3),
        "sample_sizes": (len(a_ids), len(b_ids)),
    }

Always report the sample sizes alongside the ratio, so you (and anyone you show) can see how much to trust it.

Using it well

The right way to use overlap estimates is comparatively. Pulling the same-size sample for a set of candidate creators and ranking their pairwise overlap tells you which combinations expand reach and which cannibalize it, even if no single number is exact. For a three-creator campaign, that ranking is often enough to make a confident booking decision. It complements a full influencer discovery pipeline nicely, discovery finds candidates, overlap analysis sequences them.

The honest limits

  • It's a sample estimate, full stop. You're comparing capped follower samples, not full audiences. Treat the number as directional and always keep sample sizes consistent across comparisons.
  • Bigger creators, weaker estimate. The larger the true audience relative to your sample, the noisier the overlap estimate. Same-size samples keep comparisons fair.
  • Follower lists can be huge and costly. Every page is a credit. Cap pages, use consistent sample sizes, and don't try to pull millions of followers.
  • Public followers only. Private or hidden followers aren't visible, another reason it's an estimate, not a census.
  • Overlap isn't quality. Two audiences can overlap little yet both be low-value (bots, disengaged). Pair overlap with an authenticity/engagement check.

Frequently Asked Questions

What is audience overlap and why does it matter?

It's how many followers two creators share. High overlap means booking them together re-reaches the same people (wasted budget, but good for co-signs); low overlap means genuine reach expansion. Measuring it tells you whether a multi-creator campaign compounds or cannibalizes.

Can I measure exact audience overlap from public data?

No, and anyone claiming an exact percentage is overstating it. You pull capped samples of each creator's public followers and compute the overlap between samples, which is a directional estimate. Report sample sizes and use it comparatively, not as an exact figure.

How do I estimate overlap between two creators?

Pull a consistent-size sample of each creator's public followers, take the intersection of the follower IDs, and compute a ratio (a Jaccard-style figure works). Keep sample sizes equal across comparisons so the estimates are fair relative to each other.

Why keep sample sizes consistent?

Because overlap estimates get noisier as the sample shrinks relative to the true audience. Using the same sample size for every creator you compare keeps the estimates on equal footing, so relative rankings stay meaningful even if absolute numbers aren't exact.

Does low overlap mean the creators are a good fit?

For reach, yes, low overlap means each brings distinct people. But overlap says nothing about audience quality; both audiences could be low-engagement or full of bots. Pair overlap analysis with an engagement and authenticity check before booking.

How many credits does this use?

Each page of followers is 1 credit, and follower lists are large, so cap the pages you pull and keep samples modest. A pairwise comparison across a few candidates is a manageable spend, and you start with 50 free credits, no card.


Want to sequence a creator roster so it expands reach instead of repeating it? Start free with 50 credits, no card required and run your first overlap estimate today.

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.