Private Instagram Chaining

🔮 Uncover part of followers of an instagram private account

⚠️⚠️ Not working anymore, instagram patched the technique ⚠️⚠️

I have this private instagram account julianakhao. I need to get some new tracks from it. Tenai is here to uncover some of its mutual followers* as shown below:  *”Mutual followers” means accounts following and being followed-back by your the target account.

👉 Setup & Usage

📲 Installation

pip install tenai

💻 Use it from Command Line

# Print help
tenai -h/--help
# Usage
tenai -s/--session-id SESSIONID -u/--username USERNAME
  • To export the result to json, add -e/--export
  • To print urls instead of username, add --url
  • To print details on account, add -d/--details

📇 Use it as a Library

>>> from tenai import InstaMutualsChaining
>>> info = InstaMutualsChaining(session_id=SESSIONID)
>>> info.get_data(username=USERNAME)
{"users":[user,user...],"status":"ok","is_recommend_account":False}

✅ Target requirements

  • ⚠️ Accounts with too few mutuals (under ~20*) are automatically protected against chaining.
    • You can’t know how many mutuals a private account has if you’re not following it.
  • ⚠️ Accounts with too much followers (over ~15k*) are also protected.
  • ⚠️ Accounts who disabled Similar account suggestions (very few) are protected.
  • ⚠️ Accounts followed by yourself are not targetable (they’re returning suggestions based on your own activity).
  • ✅ All accounts not mentionned in the previous lines are targetable with this technique.

*These numbers are approximative, based on the tests I made.

🗂 More

  • 💡 Tenai comes from privaTE iNstagram chAIning.
  • 🤫 The program will, of course, not alert the target.
  • ⏳ Because of some pythonic part in the API response ("sources": "[47, 11, 20]" -> "sources": str(list)), this technique might be exploiting a prototype in the API that could be changed soon.
  • 👀 This program is using an offensive SOCMINT technique, please use it only for investigative purposes. I am not responsible of its misuse !
  • ♻️ Results vary from minute to minute: I advise to retry after a bit of time, it could show more accounts.

⚙️ How does it works ?

When you’re looking at a private account (on browser or app), there are suggestions of other accounts to follow. The API endpoint in charge of responding the accounts to display (https://i.instagram.com/api/v1/fbsearch/accounts_recs/), is responding for few weeks some new parameters, such as the following:

"chaining_info": {
    "sources": "[11]",
    "algorithm": null
}

After many tests, I found out that "sources" can contain 3 different values with a certain signification for each:

  • "[11]", accounts following and being followed by the target account (mutuals),
  • "[20]", your personnal suggestions influenced by your activity,
  • "[47]", 2 accounts or more you follow are following this user.

The "sources" values can be additionned, such as "[11, 47]", a mutual of your target followed by 2 or more of your friends.
Also, "sources" value is the pythonic value I’m talking about in more, that seems to be a str(list).