Twitter Mutual Followers: Find Common Followers (2026)
Find Twitter mutual followers between two brand accounts: export both follower lists, keep the shared ids in Python, and see what 10K or 1M followers cost.
Tarun Khatri
Published · Updated · 7 min read
Twitter mutual followers are the accounts that follow both of two accounts, and you find them by comparing the two follower lists.
This guide is for marketers sizing up a partner, sponsor or rival on X (Twitter). You get the method, a tested Python script, and what big follower lists cost on four APIs. We run Weir, and we show where two others cost far less.
Already have both lists as CSV files? This prints the overlap:
import csv
def ids(path): # a followers CSV with an "id" column
with open(path, newline="", encoding="utf-8") as file:
return {row["id"] for row in csv.DictReader(file)}
a, b = ids("brand_a.csv"), ids("brand_b.csv")
both = a & b
print(f"{len(both):,} follow both: {len(both) / len(a):.1%} of A, {len(both) / len(b):.1%} of B")
- Price the jobBoth follower counts set the cost.
- Export both listsPage through each account's followers.
- Keep the ids in bothOne set intersection in Python.
- Read the overlapAs a share of each audience.
Step 1: Price the job from both follower counts
Look up both accounts on X first, because the follower counts set your bill. Weir's price for a follower list:
- A follower costs 1 credit, and each call returns about 70.
- Every call adds 1 more, plus 2 on the first one to look up the account.
- 10,000 followers come to about 10,150 credits. Your free monthly credits cover two accounts of about 2,400 followers each.
Step 2: Export both follower lists by API
Weir's endpoint is GET /v1/x/users/{user}/followers. Our guide to exporting Twitter followers to CSV walks through it; here you only need the ids.
The first part fetches one page, and waits whenever you go too fast:
import os, time, requests
HEADERS = {"Authorization": f"Bearer {os.environ['WEIR_API_KEY']}"}
def get_page(url, params):
while True:
r = requests.get(url, params=params, headers=HEADERS, timeout=60)
if r.status_code != 429: # 429 means too fast: wait, then retry
r.raise_for_status() # 402: out of credits; 404: missing or protected
return r.json()
time.sleep(int(r.headers.get("Retry-After", "10")))
The second part walks every page and keeps each follower's id:
def follower_ids(user, max_pages=150): # about 70 followers a page
url = f"https://api.weirapp.io/v1/x/users/{user}/followers"
ids, params = set(), {}
for _ in range(max_pages):
page = get_page(url, params)
ids.update(account["id"] for account in page["data"])
if not page["meta"]["nextCursor"]:
return ids
params = {"cursor": page["meta"]["nextCursor"]}
raise RuntimeError(f"{user}: stopped at max_pages, so the list is partial")
What this gets right:
- It keeps ids, not handles. An id never changes, and you store less personal data.
- A
nullcursor is the only stop. X's last page usually still has a cursor, so a full walk ends with one empty call. max_pagesis your budget. 150 pages cover about 10,000 followers, and a partial list raises an error instead of skewing the overlap.
Step 3: Find common followers between Twitter accounts
With both sets in memory, the common followers are one & away:
a, b = follower_ids("brand_a"), follower_ids("brand_b")
both = a & b
print(f"A: {len(a):,} B: {len(b):,} both: {len(both):,}")
print(f"{len(both) / len(a):.1%} of A's followers also follow B")
print(f"{len(both) / len(b):.1%} of B's followers also follow A")
Here is what it prints. The data is illustrative: we ran the script offline on made-up pages shaped like the API's response, so no real follower lists were pulled.
A: 1,400 B: 3,500 both: 280
20.0% of A's followers also follow B
8.0% of B's followers also follow A
For real accounts of those sizes, that's 72 calls and about 4,976 credits, inside one month's free grant.
Comparing three or more accounts? Chain the sets: a & b & c.
Step 4: Read the Twitter follower overlap
One overlap gives two shares, and the smaller account always shows the bigger one. Read the share from the side you care about:
- Planning a collab? If most of your followers already follow the partner, the post mostly reaches people you have.
- Picking a sponsor? A low share means new reach for you both.
- For rival research, the overlap is the audience you share, and the rest of their list doesn't follow you yet.
What does a follower overlap check cost?
The bigger account sets the price. Here are two accounts, one with 10,000 followers and one with 1 million, as of October 2026:
X's own API would charge $10,100 for the same job, at $0.010 per follower.
The math per account:
| Followers | Weir credits | Weir in dollars | TwitterAPI.io | Sorsa requests |
|---|---|---|---|---|
| 10,000 | 10,146 | $2.03 | $0.10 | 50 |
| 1,000,000 | 1,014,289 | $126.79 | $10.00 | 5,000 |
Weir's dollars use the $5 pack's rate for the small list and the $200 pack's for the big one.
- TwitterAPI.io charges $0.01 per 1,000 followers when you take its full page of 200.
- Sorsa returns 200 followers a request, and its $49 Starter plan holds 10,000 requests a month.
- On Weir, you'd buy the $200 pack and keep the rest, since bought credits never expire.
- That purchase also raises your rate limit, so 1 million followers take about 2.4 hours. We haven't tested a walk that large.
Our Weir vs TwitterAPI.io and Weir vs Sorsa pages compare the rest.
Twitter mutual followers checkers that need no code
Fedica's Compare Followers checks up to 30 X accounts at once. It needs the Research plan, at $129 a month, or $79 a month billed yearly.
Followerwonk's comparison now lives inside Fedica too.
Circleboom compares accounts after you connect your own X account. Its pricing page showed us no prices on 22 October 2026.
If the overlap looks wrong
- One account returns a 404. It's protected or gone, and a protected account's followers can't be read.
- The script stops at
max_pages. Set it to the follower count divided by 70, plus a margin, and never compare a partial list. - A 402 ends the walk. You ran out of credits, so price the job first, as in Step 1.
- The numbers drift between runs. Follower lists change daily, so compare two lists exported on the same day.
When not to use Weir
- Either account has millions of followers. TwitterAPI.io is 10 to 20 times cheaper per follower, depending on your pack.
- One account is yours. X's Owned Reads rate is $0.001 per follower of your own account.
- An estimate is enough. Sorsa's check-follow endpoint tests one pair per request, so you can check a random sample.
- You'd rather click than code. Fedica's dashboard compares accounts without a script.
A follower list is a list of people. X's Terms of Service restrict scraping, so check the terms and privacy law that apply to you. This isn't legal advice.
FAQ
How do I find mutual followers between two Twitter accounts?
Export both follower lists, then keep the account ids that appear in both. A dashboard like Fedica does this for you on a paid plan. With an API, it's a short script: page through each list, then intersect the two sets in Python.
Can you see mutual followers on X itself?
X's Help Center explains how to see your own followers and the accounts you follow. We found no page on comparing two other accounts' followers, so use an export or a third-party tool.
Is there a free mutual Twitter followers checker?
Fedica's comparison isn't on its Free plan. Weir's 5,000 free credits a month cover two accounts of about 2,400 followers each, and Sorsa's 100 free requests cover about 20,000 followers once.
How do I find my mutuals on Twitter?
Mutuals are accounts you follow that follow you back. Run the Step 2 script on your followers, then swap followers for following in the URL and run it again. The ids in both sets are your mutuals.
Sources
All checked on 22 October 2026:
- Fedica, Compare Followers and plans: https://fedica.com/en/twitter/common-followers and https://fedica.com/en/signup/
- Fedica, check mutual followers between accounts: https://fedica.com/blog/check-mutual-followers-twitter-x/
- Followerwonk, compare users (now part of Fedica): https://followerwonk.com/compare-users.html
- Circleboom, intersection of followers (7 April 2025) and pricing page: https://circleboom.com/blog/find-the-intersection-of-followers-between-two-twitter-accounts/ and https://circleboom.com/twitter-management-tool/plans-and-pricing
- TwitterAPI.io pricing and followers endpoint: https://twitterapi.io/pricing and https://docs.twitterapi.io/api-reference/endpoint/get_user_followers
- Sorsa API pricing and v3 docs, including check-follow: https://api.sorsa.io/pricing and https://api.sorsa.io/v3/static/sorsa_api_v3_documentation_en.txt
- X API pricing and Owned Reads: https://docs.x.com/x-api/getting-started/pricing
- X Help Center, Following FAQs (Wayback copy of 17 October 2026): https://help.x.com/en/using-x/following-faqs
- X Terms of Service, effective 9 October 2026 (Wayback copy of 17 October 2026): https://x.com/en/tos
- Weir followers reference, billing and pagination: https://docs.weirapp.io/reference/x/getXUserFollowers, https://docs.weirapp.io/billing and https://docs.weirapp.io/pagination