Skip to content
compare twitter followersfollower overlapaudience analysisx apipythoninfluencer marketing

GUIDE

How to Compare Twitter Followers and Find the Overlap Between Accounts

Compare Twitter followers between two accounts: free tools, what they miss, and a Python method that finds common followers and overlap at any size.

Per our own spec, 72 of 125 endpoints bill $0.0008, 26 are free, and 27 sit between $0.0016 and $0.01. Every price ships inside our published OpenAPI document as an x-cost-usd field, so any figure in this post can be checked against the contract that bills it rather than taken on trust.

By , developer relations at TwitterAPIs·
How to compare Twitter followers between accounts, measure audience overlap and find common followers with free tools or Python

To compare Twitter followers, you pull the follower list of each account and see which user ids appear in both. Free tools do this for small accounts in a few clicks. For large accounts or repeat reports, a short Python script does the same job for about $0.016 per 1,000 followers through a followers API.

This guide covers the free tools, the math that makes an overlap number mean something, and the script.

A stat panel: followers cost about $0.016 per 1,000, comparing two 100,000 follower accounts costs $3.20, and the same pair on official reads costs $2,000.
The list is the expensive part

TL;DR: X has no built-in follower comparison, so every method rests on two lists and one set intersection. Use Followerwonk, Fedica or HypeAuditor for a quick look. For anything larger, crawl both lists by id, intersect them, and report the overlap coefficient: shared followers divided by the smaller list. Two 100,000 follower accounts cost about $3.20 on a per-call API and $2,000 on official reads at $0.010 per follower. Crawl both lists the same day, since follower lists change daily.

How do you compare Twitter followers?

Comparing followers means building two lists of user ids and intersecting them. Everything else, from the free tools to custom dashboards, is a layer on that operation. The result is the set of people who follow both accounts, and it answers whether two audiences are really the same people.

A five-step flow of a follower comparison: crawl account A, crawl account B, intersect ids, score overlap and enrich the shared users.
Two lists and one set operation

The question comes up constantly, and X has never offered a native answer:

Is there any way to see the common followers of multiple Twitter accounts? from r/Twitter

Which tools compare followers for free?

Several tools compare accounts with no code. Followerwonk's compare page lists mutuals and common followers, Fedica compares two or more accounts with exports, and HypeAuditor offers a free side-by-side. They suit a one-off check on accounts of modest size.

A grid comparing free compare tools, paid analytics and your own script by best use and what to watch out for.
Pick by size and how often you repeat it

Followerwonk deserves a note, since a common search result still says it has gone. It was acquired by Tweepsmap in 2023, and its site today lists audience overlap, bot detection, and exports of up to 50K followers a day, alongside Fedica tools. Circleboom has a similar comparison, and this open-source project is a good read if you want to see the method in a notebook.

A stat panel: Followerwonk compares accounts, exports up to 50,000 followers per day, and was acquired by Tweepsmap in 2023 with Fedica tools on its site today.
Still alive, under new ownership

Most tools are built for one-off checks, which leaves a gap for reporting. When you need the same comparison every month, across many accounts, or inside your own product, you outgrow them.

By need

Tool or script

Compare toolAPI script
SetupNoneAn hour
List sizePlan limitsAny size
ExportVariesWhatever you write
RepeatableBy handScheduled
Best forOne-off checksReports and products
A reading of public tool pages on 2026-11-05 and of the method in this guide.

What does an overlap percentage mean?

An overlap number depends entirely on the denominator, so always state your formula. The overlap coefficient divides shared followers by the smaller list, and it answers how much of the small audience you already reach. The Jaccard index divides by the union of both lists, and it answers how alike the two audiences are.

A list of three overlap metrics: shared count, the overlap coefficient and the Jaccard index.
State which one you used

Take one example: accounts of 40,000 and 100,000 followers with 8,000 in common.

Overlap metrics on one worked example

MetricFormulaResultSource
Shared followersSize of A and B8,000derived
Overlap coefficientShared / smaller list20%derived
Share of larger listShared / larger list8%derived
Jaccard indexShared / union6.1%derived

as of 2026-11-05

Method: An illustration with 40,000 and 100,000 followers and 8,000 shared. The union is 132,000.
A bar chart of a worked example with 40,000 and 100,000 followers and 8,000 shared: overlap coefficient 20 percent, share of the larger list 8 percent, Jaccard 6 percent.
One pair, three different percentages

The same pair reads as 20 percent, 8 percent or 6 percent depending on the formula. This is the main reason two tools disagree. For a sponsorship decision, use the overlap coefficient. For a similarity map across many accounts, use Jaccard.

A grid showing the overlap coefficient answers sponsorship reach questions and the Jaccard index answers audience similarity questions.
Different questions, different maths

Start building with TwitterAPIs

$0.0008 a call, about $0.04 per 1,000 tweets at 20 tweets a page. $0.50 free credits. No credit card required.

How do you compare followers in Python?

Crawl each account's followers by paging with the cursor, store the ids in a set, and intersect. The script below works at any size. It needs a TwitterAPIs key, and every page costs $0.0008. Pass username, read users, and stop when a page comes back empty.

import json, os, time, requests

BASE = "https://api.twitterapis.com/twitter"
HEADERS = {"Authorization": f"Bearer {os.environ['TWITTERAPIS_KEY']}"}

def followers(username):
    ids, cursor = set(), None
    while True:
        params = {"username": username}
        if cursor:
            params["cursor"] = cursor
        r = requests.get(f"{BASE}/user/followers_v2", params=params,
                         headers=HEADERS, timeout=30)
        r.raise_for_status()
        data = r.json()
        users = data.get("users", [])
        if not users:
            return ids
        ids.update(u["id"] for u in users)
        cursor = data.get("next_cursor")
        if not cursor:
            return ids
        time.sleep(0.11)      # stays under 600 requests a minute

a = followers("account_a")
b = followers("account_b")
shared = a & b
print(len(a), len(b), len(shared))
print("overlap", round(len(shared) / min(len(a), len(b)), 3))
print("jaccard", round(len(shared) / len(a | b), 3))
json.dump(sorted(shared), open("shared_ids.json", "w"))

Before crawling, check how big the job is. One profile read gives you the follower count, so you can price the crawl first:

curl -G "https://api.twitterapis.com/twitter/user/info" \
  --data-urlencode "username=account_a" \
  -H "Authorization: Bearer $TWITTERAPIS_KEY"

We ran one page of this against a real account to confirm the response shape and the page size.

56 users came back on one followers_v2 call for @followerwonk with count=5, so the page size is set by X and your loop should follow the cursor.

Our data · Dataset: x-follower-page-sample-2026 · Source: public X posts, pulled through our API · Query: GET /twitter/user/followers_v2?username=followerwonk&count=5 · Pulled: 2026-11-05 · n = 56 · Method: count of user rows returned on one call.

A stat panel from our test: one followers call returned 56 users for $0.0008, and a batch relationship check covers up to 100 pairs.
The count parameter is advisory

To keep a crawl from starting over after a network error, save the cursor as you go:

import json, pathlib

STATE = pathlib.Path("crawl_state.json")

def save(cursor, ids):
    STATE.write_text(json.dumps({"cursor": cursor, "ids": sorted(ids)}))

def load():
    if STATE.exists():
        s = json.loads(STATE.read_text())
        return s["cursor"], set(s["ids"])
    return None, set()

Note that the count parameter is advisory, so write your loop around the cursor rather than the page size. Our export followers to CSV guide walks through the crawl in more depth, the pagination guide explains the cursor, and the scraper cost per job breakdown prices related work.

What does a comparison cost?

Budget $0.016 per 1,000 followers. A call costs $0.0008 and returns about 70 followers on the first page and fewer after that, so 1,000 followers takes 15 to 20 calls. Two accounts of 100,000 cost about $3.20. Official reads bill per follower, which puts the same job at $2,000.

What a two-account comparison costs

Each accountFollowers to pullPer-call APIOfficial X readsSource
10,00020,000$0.32$200derived
100,000200,000$3.20$2,000derived
1,000,0002,000,000$32.00$20,000derived

as of 2026-11-05

Method: Per-call column uses the published high end of $0.016 per 1,000 followers at $0.0008 a call. Official column uses $0.010 per Following/Followers read on docs.x.com, read 2026-11-05.

Derived

Cost to pull both lists, per-call API

PointValue ($)
10k each0.32 $
100k each3.2 $
1M each32 $
At the published high end of $0.016 per 1,000 followers.
A bar chart of comparison cost: $0.32 for two 10,000 follower accounts, $3.20 for two 100,000 follower accounts and $32 for two one million follower accounts.
At $0.016 per 1,000 followers
A stat panel: the official X rate is $0.010 per follower returned, so two 10,000 follower accounts cost $200 and two 100,000 follower accounts cost $2,000.
Per-resource billing punishes list work
followers_total = 200_000            # two accounts of 100,000
per_call = followers_total / 1000 * 0.016
official = followers_total * 0.010   # Following/Followers read
print(round(per_call, 2), official)  # 3.2 2000.0

The official rate comes from X's pricing page. Crawling is mostly limited by time, not money: at 600 requests a minute a million followers finishes in under an hour. See the rate limits guide and pricing for details, and the cost calculator for other volumes.

A stat panel: pulling 1,000 followers takes 15 to 20 calls, with a limit of 600 requests a minute per key.
A million followers is under an hour

When do you not need a full crawl?

Skip the crawl when your question is small. To check whether one person follows an account, use a relationship lookup. To check a shortlist of up to 100 people, use the batch endpoint. Reach for a full crawl only when you need the entire shared audience.

A list of shortcuts that avoid a full crawl: a single relationship check, a batch check, followers you know, sampling and checking a shortlist.
Cheap questions deserve cheap calls
curl -G "https://api.twitterapis.com/twitter/user/check_follow_relationship/batch" \
  --data-urlencode "target_username=youraccount" \
  --data-urlencode "source_usernames=alice,bob,carol" \
  -H "Authorization: Bearer $TWITTERAPIS_KEY"

The batch check bills $0.0008 per pair answered, and pairs that return not found are free. For a shortlist of creators or prospects, that is far cheaper than crawling a million followers to answer a question about ten people. The Twitter API reference lists the related endpoints.

What can you do with an overlap?

Overlap tells you whether new spending buys new people. It guides sponsorship picks, competitor research, warm lead lists and partner choices. The practical output is usually a ranked list, so the next step is turning shared ids into profiles you can read and filter.

A list of five jobs overlap answers: sponsorships, competitors, lead lists, partners and audience research.
Overlap is a reach question

Worked example

Three creators, one sponsorship budget

Your followers: 40,000 · Creators compared: 3 · Crawl cost: $2.56

☑ Creator A: 100k followers, 20% overlap, 92k new reach · ☐ Creator B: 60k followers, 60% overlap, 36k new reach (mostly your audience) · ☑ Creator C: 40k followers, 5% overlap, 38k new reach (small but fresh)

An illustration, not a customer account. Overlap coefficient is shared followers over the smaller list. Crawl cost covers 160,000 followers across all four lists at $0.016 per 1,000.

A panel comparing three creators against a brand's own 40,000 followers, showing how overlap changes the new reach each one offers.

For sponsorships, the influencer discovery use case covers the wider workflow: a creator with a slightly smaller audience and low overlap can beat a bigger one that mostly reaches your existing followers. For sales, followers of both you and a competitor are warm prospects, which the lead generation page expands on. Competitor analysis uses the same data, and our build versus buy guide covers that decision.

A four-step flow from shared ids to a list: hydrate profiles, filter bots, rank and export CSV.
Raw ids are not an audience

Turning ids into a spreadsheet is a short step. Once you have profile rows, write them out:

import csv

def export(rows, path="shared_followers.csv"):
    with open(path, "w", newline="") as f:
        w = csv.DictWriter(f, fieldnames=["id", "username", "followers_count"],
                           extrasaction="ignore")
        w.writeheader()
        w.writerows(rows)

Before you act on a list, filter it. Our bot detection guide explains which signals identify spam accounts, which inflate both sides of any comparison. Here is a short walkthrough of the classic tool, for anyone who prefers a UI:

https://www.youtube.com/watch?v=JD84s70hy4U

The cheapest pay-as-you-go Twitter API. Try it free.

$0.0008 a call, about $0.04 per 1,000 tweets at 20 tweets a page. $0.50 free credits. No credit card required.

What skews a comparison?

Timing, sampling and bots skew the most. Lists change daily, so crawl both accounts in the same session. A tool that samples a partial list will understate overlap, and spam accounts following many large accounts inflate it. State the date, the method and the formula beside any number you publish.

A list of what skews a follower comparison: different days, sampling, bots, private accounts and stale exports.
Crawl both on the same day
Tool to see Social Media Follower Overlap from r/marketing

Researchers run into the same limits, as this developer forum thread shows. If a report goes to a client, include the crawl date and list sizes, so that a later re-run can be explained. For recurring audience work, the Twitter follow checker is a quick way to test a single relationship by hand.

How do you read the result?

A comparison gives you a number and a list, and the list is usually the more useful of the two. Start with the number to decide whether the overlap is high enough to matter, then read a sample of the shared followers to see who they really are. Twenty profiles are enough to tell you whether the overlap is your buyers, other marketers or spam.

Compare like with like. Two accounts of very different sizes will always show a small share of the larger list, which is why the overlap coefficient uses the smaller one. Track the same pair over time as well, since a rising overlap between you and a competitor often means the two audiences are converging on one category. Save each crawl with its date, so you can diff the shared set between runs and see who joined.

Where to go from here

Follower lists feed many other jobs. If you are choosing a provider, start with how to choose a Twitter API and the best API for scraping. For cost planning, the Twitter API cost guide and cost by workload price the wider stack. For the mechanics, the Python tutorial, the authentication guide, the rate limit guide and scraping in Python cover what the script above takes for granted. To keep watching an account once you know its audience, see account monitoring.

The short version

Compare Twitter followers by intersecting two id lists. Use a free tool for a quick look, and a script for anything large or repeated. Report the overlap coefficient for reach decisions and Jaccard for similarity, and say which you used.

A stat panel: the $0.50 free credit covers 625 calls, roughly 31,000 followers.
Enough to compare two small accounts

A comparison of two 100,000 follower accounts costs about $3.20 here, and the $0.50 signup credit needs no card, which covers about 625 calls or roughly 31,000 followers. Sign up, compare two small accounts first, then scale from the followers API page.

// sources

Where these numbers come from

Each row is a figure in this post and the artefact it was read from. Prices and limits on this platform move, so check the date on the source before you plan against it.

Followerwonk
The tool list: compare followers, audience overlap and exports of up to 50K per day.
Compare Twitter followers, Followerwonk
The compare page for mutuals and common followers.
Compare Followers, Fedica
Common followers across two or more accounts with exportable lists.
Twitter followers comparison, Circleboom
A guide and tool for comparing accounts.
Twitter-Follower-Overlap on GitHub
An open-source overlap analysis.
X API pricing, docs.x.com
The $0.010 per resource Following/Followers read rate.
Common followers between two users, X Developer Community
A forum thread on the same problem from researchers.
Jaccard index, Wikipedia
The definition of the similarity measure used here.

Frequently Asked Questions

For small accounts, use a free tool such as Followerwonk's compare page, Fedica or HypeAuditor. For larger accounts or repeat jobs, pull both follower lists through an API and intersect the user ids in a few lines of Python. X has no built-in comparison, so every method rests on the same two lists.

There is no universal benchmark, so compare within your own category. Use the overlap coefficient, which divides shared followers by the size of the smaller audience. A high number between two creators means a sponsorship with the second one reaches few new people, while a low number means fresh reach.

For small accounts, yes. Followerwonk's compare tool lists overlaps, and the $0.50 signup credit on a per-call API covers about 625 calls, or roughly 31,000 followers at the published rate. Free tools usually limit list size or exports, so a large account will need a paid plan or your own script.

Download the follower ids of each account, put them in two sets, and intersect them. The result is your common followers. Use ids rather than handles, because a handle can change and an id does not. For a quick check on one person, a follow relationship lookup answers without crawling a whole list.

Comparing two accounts of 100,000 followers each costs about $3.20 at $0.016 per 1,000 followers. Two accounts of 1 million cost about $32. On the official X rate of $0.010 per follower, the same 100,000 follower pair would be $2,000, so large comparisons are rarely worth running there.

Tools count different things. Some sample a list instead of crawling it, some cap the size, and some divide by the combined audience rather than the smaller one. Follower lists also change daily. When you need a number you can defend, crawl both lists on the same day and state the formula.

Check out similar blogs

More guides on the Twitter/X API, scraping, and pricing.

How to build chatbot training data from X reply threads, pairing real questions with answers, cleaning the pairs and exporting JSONL
chatbot training datafine tuning

Chatbot Training Data: Turn X Reply Threads Into Conversation Pairs

Build chatbot training data from X reply threads: find real questions, pair each with its best answer, clean the pairs and export JSONL for fine-tuning.

Emma·
What an AI Twitter bot costs to run at three account sizes, priced from live rate cards, with the X approval rule that governs AI replies
ai twitter botx api

What an AI Twitter Bot Costs to Run: Three Account Sizes, Priced

What an AI Twitter bot costs to run in 2026. Three account sizes priced line by line from live rate cards, plus the X rules that decide what it may do.

Emma·
A guide to Twitter datasets covering free public corpora, ID-only files and hydration, and building your own clean dataset from X in Python
twitter datasettweet dataset

Twitter Dataset: Free Sources That Still Work and How to Build Your Own

Where to get a Twitter dataset in 2026: what public corpora still offer, why most ship IDs only, and how to build a clean dataset from X for $40 a million.

Emma·
Twitter keyword alerts sent to Slack or a webhook, with the search query, the polling loop and the monthly cost per keyword
twitter keyword alertsx api

Twitter Keyword Alerts: Send Every New X Match to Slack or a Webhook

Set up Twitter keyword alerts that post new X matches to Slack or any webhook. Query syntax, a working Python loop, poll cadence and the real monthly cost.

Emma·
X starts billing API expansions on November 22: what one request really costs once the objects in the includes section bill at the standard pay-per-use rate
x api expansionsx api

X Starts Billing API Expansions on Nov 22: What One Request Costs Now

From November 22, X bills every object an API expansion returns. What changes, how the forum answers conflict, and what one request costs before and after.

Emma·
The X Chat API group endpoints shipped in version 2.169, what you can build on encrypted chat, and the real cost of reading or sending a direct message
x chat apix api

The X Chat API in v2.169: Group Endpoints and What a DM Really Costs

X shipped a full set of X Chat endpoints in API v2.169: groups, admins, invites and members. What you can build on encrypted chat, and the real cost per DM.

Emma·
X and Twitter platform statistics for 2026, showing which figures are measurable through a public API and which are not published by any source
twitter statisticsx statistics

X/Twitter Statistics in 2026: What an API Can Actually Measure, and What Nobody Can

Most X statistics roundups re-cite the same handful of numbers. We measured what a public API can and cannot see across 34 accounts, printed the query behind every figure, and traced the rest to their real sources.

Emma·
Cost comparison for tracking X competitors in 2026, building a metered API collector against buying a social analytics dashboard subscription
twitter competitor analysisx api

Twitter Competitor Analysis in 2026: Build the Dashboard or Buy Rival IQ

Nine of the ten pages ranking for this are dashboards selling you the answer. We show the calls that produce the metrics, price both sides, and find the crossover.

Emma·