SOCMINT tool to get personal infos from an Instagram account via analysis of its followers and/or following

Overview

S T E R R A

🔭 A SOCMINT tool to get infos from an Instagram acc via its Followers / Following

Allows you to analyse someone's followers, following, and mutuals, with these functions:

  • 📊 A probability function to determine the close social circle of your target,
  • 📥 Export of the followers / following lists (with their details) to excel and csv,
  • ℹ️ More informations here.
  • 💱 Check the WIKI for the detailed Usage.

Sterra have been recently updated to 2.1, with a lot of new features, but have not been tested on every systems. Everything works, but not handled bugs or errors could happen. If it happen to you, please report it to the Issues section. Thanks :)

♻️ Also a great alternative to Export List of Followers from Instagram, that has been killed.

Here is the result for the accounts followed by Mark Zuckerberg, then for Kylie Jenner :

🦺 Big changes are coming soon, curently working on the wiki for this new version, because it will be much complicated to use.

📥 Installation

  • Via PyPI
pip install sterra
  • Via GitHub
git clone https://github.com/novitae/sterraxcyl
cd sterraxcyl
python setup.py install
# if it fails, use via PyPI

📌 Notes

  • Here is a tutorial on how you can find your "sessionid".
  • If you want to extract lists without express mode, it will take a long time. I advise to do something else while the program does the job.
  • If your password contains special characters (and it should...) such as "!", you may enclose it between quotes.
  • It is better if you use an account made specially for the occasion. I do not recommend using your personnal account !
  • The account you will use must have 2FA disabled.
  • If the target account is private, you must be following it to extract data of it.
  • If instagram blocks you, i recommend using another account.
  • This program can be very powerful against most of instagram users, including big accounts: i tried it once one real account (with 250k followers), and it brought me very far. I'm not responsible of its misuse, but don't do shit with it.
  • The program doesn't work on GitPod.

More

This program took me a lot of time; if you appreciate it, feel free to reward my work here:
BTC bc1qjdw2hsspdlw7j9j9qn24gnujnk5thdmt6h2kjh

I will soon have no more time for coding during a certain period (because im joining army). Feel free to work on my program if you want to make it better.
If you want to help this project, here is a "to do" list:

  • Adding probabilities of interests in _pro.py file (actually there's just probabilities of being a personnal accounts)
Comments
  • KeyError: 'The input list must contain (at least) the key

    KeyError: 'The input list must contain (at least) the key "id"'

    Following the example on on the wiki: sterra compare F_ID_1 F_ID_2 --common-usernames

    I have tried the full path to each of the files for comparison , also tried with the file ID's found listed in history for the files im trying to compare but both return KeyError: 'The input list must contain (at least) the key "id"'

    Is this an issue or am I using it incorrectly?

    opened by thenib 4
  • Export Does not work with Python 3.5 3.7 3.8 or 3.9 (did not test others)

    Export Does not work with Python 3.5 3.7 3.8 or 3.9 (did not test others)

    Traceback (most recent call last): File "/home/exspir3/.local/bin/sterra", line 8, in sys.exit(main()) File "/home/exspir3/.local/lib/python3.8/site-packages/sterra/core.py", line 430, in main ret = globals()module.upper() File "/home/exspir3/.local/lib/python3.8/site-packages/sterra/core.py", line 87, in EXPORT scrape(t,l) File "/home/exspir3/.local/lib/python3.8/site-packages/sterra/core.py", line 38, in scrape .p(f"""{username}'s {targlist} usernames file exported under id: {str(bold(exporter([{"username":usn} for usn in flist],,**kwargs)()))}""",logo=logo_to_choose) TypeError: init() missing 2 required positional arguments: 'file_path' and 'Format'

    bug 
    opened by ensingerphilipp 4
  • bunch of followers that i can't export

    bunch of followers that i can't export

    such a good tool! I have problem with exporting the followers username. i tested with 2 or 3 diffrent account several times but each time it's stop under 10000 usernames and i can't resume the exporting. part for exporting is not work for me. the error is: PrivateAccError: --username is a private account that you're not following. after this function didn't go forward and stop. i followed the account but it's not working.

    opened by imankiyumarsi 3
  • HTTP Error 400 (Bad Request) on GraphQL Query.

    HTTP Error 400 (Bad Request) on GraphQL Query.

    Howdy! This looks really useful - getting this error though:

    "HTTP Error 400 (Bad Request) on GraphQL Query. Retrying with shorter page length."

    this is exact error: "anaconda3/lib/python3.7/site-packages/instaloader-4.8.1-py3.7.egg/instaloader/instaloadercontext.py", line 345, in get_json raise QueryReturnedBadRequestException("400 Bad Request") instaloader.exceptions.QueryReturnedBadRequestException: 400 Bad Request"

    Thanks!

    opened by hartmania 3
  • ERROR

    ERROR

    When performing a search as sterra -u xxxxx -t followers, (xxxxx I replace it with a user) I get the following error

    Unknown error, here is the response: {"message": "checkpoint_required", "checkpoint_url": "/ challenge / AXFDryCPIRfCXMzgUoVyguEOsXuhmBvRItoY27ajqfad1f7U-MaDLvlGFXsjnMnwgYVcr8A / OwJmxTBVrender:" flow "0", "lockty" status "flow" falsety} "lockty", falsety "lockty"} "flowtyVcr8A / OwJmxTBVrender:"

    opened by ch4c4l 3
  • Got error for export

    Got error for export

    Hi,

    I am getting the following error when I used the basic usage command: sterra export -ssid mysessid -u tgtuser -t following

    The error I'm getting:

    |§| Path /home/ubuntu/.local/lib/python3.8/site-packages/sterra/export/ created.
    |§| Path /home/ubuntu/.local/lib/python3.8/site-packages/sterra/parts/ created.
    |§| Path /home/ubuntu/.local/lib/python3.8/site-packages/sterra/_history_.json created.
    Traceback (most recent call last):
      File "/home/ubuntu/.local/bin/sterra", line 5, in <module>
        from sterra.core import main
      File "/home/ubuntu/.local/lib/python3.8/site-packages/sterra/core.py", line 10, in <module>
        from sterra.filerra import *
      File "/home/ubuntu/.local/lib/python3.8/site-packages/sterra/filerra.py", line 9, in <module>
        class exporter:
      File "/home/ubuntu/.local/lib/python3.8/site-packages/sterra/filerra.py", line 10, in exporter
        def __init__(self, _:object, List:list[dict], file_path:str, Format:str, **kwargs:dict) -> None:
    TypeError: 'type' object is not subscriptable
    
    opened by mdhz 2
  • Newbie with problem executing sterra

    Newbie with problem executing sterra

    Installed Sterra using pip and manually (git clone).

    After running sterra, I get this:

    Any help will be very appreciated.

    (base) [email protected] ~ % sterra
    Traceback (most recent call last):
      File "/Users/me/opt/anaconda3/bin/sterra", line 33, in <module>
        sys.exit(load_entry_point('sterra==2.2.1', 'console_scripts', 'sterra')())
      File "/Users/me/opt/anaconda3/bin/sterra", line 25, in importlib_load_entry_point
        return next(matches).load()
      File "/Users/me/opt/anaconda3/lib/python3.8/importlib/metadata.py", line 77, in load
        module = import_module(match.group('module'))
      File "/Users/me/opt/anaconda3/lib/python3.8/importlib/__init__.py", line 127, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
      File "<frozen importlib._bootstrap>", line 991, in _find_and_load
      File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 843, in exec_module
      File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
      File "/Users/me/opt/anaconda3/lib/python3.8/site-packages/sterra-2.2.1-py3.8.egg/sterra/core.py", line 10, in <module>
        from sterra.filerra import *
      File "/Users/me/opt/anaconda3/lib/python3.8/site-packages/sterra-2.2.1-py3.8.egg/sterra/filerra.py", line 7, in <module>
        from sterra.exterra import exman
      File "/Users/me/opt/anaconda3/lib/python3.8/site-packages/sterra-2.2.1-py3.8.egg/sterra/exterra.py", line 1, in <module>
        from sterra.histerra import file_id, add_part, add, get_part, match
      File "/Users/me/opt/anaconda3/lib/python3.8/site-packages/sterra-2.2.1-py3.8.egg/sterra/histerra.py", line 79, in <module>
        def get_part(part_option:str=True) -> tuple[str,str]:
    TypeError: 'type' object is not subscriptable
    
    bug 
    opened by numerosos 1
  • Error

    Error

    Hello! I have a error during the export of mutual followers. Attached the screenshot The text:

    Traceback (most recent call last): File "/usr/local/lib/python3.9/dist-packages/sterra-2.1.4-py3.9.egg/sterra/core.py", line 84, in main raise IndexError IndexError

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "/usr/local/bin/sterra", line 33, in sys.exit(load_entry_point('sterra==2.1.4', 'console_scripts', 'sterra')()) File "/usr/local/lib/python3.9/dist-packages/sterra-2.1.4-py3.9.egg/sterra/core.py", line 131, in main _ins.tagram( File "/usr/local/lib/python3.9/dist-packages/sterra-2.1.4-py3.9.egg/sterra/_ins.py", line 340, in tagram mutuals = traction(ul=mutualList, sd=sssid, ai=ex, xp=ex, dl=dl).strt() TypeError: strt() missing 1 required positional argument: 'rtn'

    2022-02-08_22-00-15 .

    opened by sai84 1
  • TargetException

    TargetException

    Hey! When I scrape the followers of a specific account it starts but stops about 30-35% with that error message:

    TargetException: Be sure that you are following the account you are aiming for if it is in private.

    Is there anything I can do about it? Didn't you had a delay function in your script?

    opened by pascallammers 1
  • Best way to reach out ?

    Best way to reach out ?

    Hi,

    I find this project very interesting, what's your preferred channel for a private chat @novitae ? My org. is looking for specialists with your expertise.

    Regards,

    opened by everglad 1
  • login issue

    login issue

    Excited to give the new update a spin!!

    Trying to work through this login issue: "Please check Instagram app for a security confirmation that it is you trying to login."

    I keep acknowledging it was me but to no avail -- might be due to thinking it's a windows 10 phone (who has one of those, right?) -- if I figure it out will update....

    Screen Shot 2021-11-15 at 1 30 45 PM NOT FROM STERRA 
    opened by hartmania 1
  • Rate Limit Error although followers extraction is completed

    Rate Limit Error although followers extraction is completed

    Hey,

    I'm having an issue with resuming a "part" content, I'm using the following command syntax: sterra export -ssid xxx -u xxx -p xxx

    When it hit 100% on the followers extraction, the "RateLimitError" showed, so I didn't use sterra for three days, (usually used it every 24h to finish the extraction phase) now when trying to resume the script with the syntax above - I'm still getting the "RateLimitError".

    When using Instagram on mobile or web, I am able to use the search, like photos, follow etc... To make sure, I ran sterra again but without the "-p" flag using the following: sterra export -ssid xxx -u xxx -t followers and it started the process all over again, which meant it wasn't a rate-limit blockage.

    Also, the "Getting users details" has been completed to 100% (then again rate limit).

    opened by vitguld 8
  • Call sterra directly from python (#2)

    Call sterra directly from python (#2)

    Last issue was force closed, so here again. I tried the solution mentioned before. I have added the running of main here: https://pastebin.com/T3xdg2GG However, it just prints out the default print (not the export not with arguments). It is not calling the new parser() functions, just the old one.

    All I want to do is to get followers directly from python and get a path to the file.

    opened by MiniMinnoww 0
  • Error when exporting to csv

    Error when exporting to csv

    When exporting to a csv file using this command: sterra export -ssid {SSID} -u {Username} -t followers -f csv

    I get an error saying UnicodeEncodeError: 'charmap' codec can't encode characters in position 397-398: character maps to <undefined>

    opened by MiniMinnoww 3
  • Add the ability to resume fetching the follow list

    Add the ability to resume fetching the follow list

    Noticed that when a rate limit occurs when fetching a list of usernames (and before hydrating the profiles), the state is not saved. The script restarts the fetch from the beginning the next time the script is run. This patch adds an option to resume from the last state similar to the existing feature for saving partial fetching of full profiles.

    opened by priscillalam 0
Releases(v2.2-Beta)
Owner
aet
🇫🇷
aet
Uploader-Bot - A Modified Telegram Url Uploader Bot With Mongodb, Zee5, Sonyliv Support and Many Other Yt-dlp Sites

𝚁𝚎𝚚𝚞𝚒𝚛𝚎𝚍 𝚅𝚊𝚛𝚒𝚊𝚋𝚕𝚎𝚜 🔊 APP_ID API_HASH TG_BOT_TOKEN DATABASE_URL

11 Sep 10, 2022
google-resumable-media Apache-2google-resumable-media (🥉28 · ⭐ 27) - Utilities for Google Media Downloads and Resumable.. Apache-2

google-resumable-media Utilities for Google Media Downloads and Resumable Uploads See the docs for examples and usage. Experimental asyncio Support Wh

Google APIs 36 Nov 22, 2022
Simple Translator in Python

Simple Translator in Python Project Description: In this project, we'll be making a very simple translator in Python using some libraries. Requirement

Hassan Shahzad 3 Jan 23, 2022
Neubot client

Neubot, the network neutrality bot Neubot is a research project on network neutrality of the Nexa Center for Internet & Society at Politecnico di Tori

Neubot 57 Nov 02, 2021
Mushahid Ali 1 Dec 31, 2021
a translator bot for discord

TranslatorBOT it is a simple and powerful discord bot, it been used for translating includes more than 100 language, it has a lot of integrated comman

Mear. 2 Feb 03, 2022
Python Library for Secp256k1 Bitcoin curve to do fast ECC calculation

secp256k1 Python Library for Secp256k1 Bitcoin curve to do fast ECC calculation Example Usage import secp256k1 as ice print('[C]',privatekey_to_addres

iceland 49 Jan 01, 2023
Surfline Forecast Bot For Python

Surfline Forecast Bot A telegram bot created using Telethon that allows users to

1 May 08, 2022
A file-based quote bot written in Python

Let's Write a Python Quote Bot! This repository will get you started with building a quote bot in Python. It's meant to be used along with the Learnin

1 Jan 19, 2022
A GETTR API client written in Python.

GUTTR A GETTR client library written in Python. I rushed to get this out so it's a bit janky. Open an issue if something is broken or missing. Getting

Roger Johnston 13 Nov 23, 2022
tfquery: Run SQL queries on your Terraform infrastructure. Query resources and analyze its configuration using a SQL-powered framework.

🌩️ tfquery 🌩️ Run SQL queries on your Terraform infrastructure. Ask questions that are hard to answer 🚀 What is tfquery? tfquery is a framework tha

Mazin Ahmed 311 Dec 21, 2022
Twitter-redesign - Twitter Redesign With Django

Twitter Redesign A project that tests Django and React knowledge through a twitt

Mark Jumba 1 Jun 01, 2022
Discord rich-presence implementation for VALORANT

not working on v1 anymore in favor of v2, but if there's any big bugs i'll try to fix them valorant-rich-presence-client Discord rich presence extensi

colinh 278 Jan 08, 2023
Using Streamlit to build a simple UI on top of the OpenSea API

OpenSea API Explorer Using Streamlit to build a simple UI on top of the OpenSea API. 🤝 Contributing Contributions, issues and feature requests are we

Gavin Capriola 1 Jan 04, 2022
Automates the process to obtain an appointment for NIE in spain.

get-nie-appointment A Python script that automates the process of getting an appointment for NIE assignation. It can be modified in order to change th

Ezequiel Aceto 39 Nov 28, 2022
对hermit 的API进行简单的封装,做成了这个python moudle

hermit-py 对hermit 的API进行简单的封装,做成了这个Python Moudle,推荐通过wheel的方式安装。 目前对点击、滑动、模拟输入、找组件、等支持较好,支持查看页面的实时布局信息,再通过布局信息进行点击滑动等操作。 支持剪贴板相关的操作,支持设置剪贴的任意语言内容。

LookCos 40 Jun 25, 2022
Protect Discord server invite link

DiscordOauth2Join Protect discord server invite links! Setup I will not help setting up the discord application, but just python. First, install the r

ZEEE 4 Aug 12, 2021
Simple Self-Bot for Discord

KeunoBot 🐼 -Simple Self-Bot for Discord KEUNOBOT 🐼 - Run KeunoBot : /* - Install KeunoBot - Extract it - Run setup.bat - Set token and prefi

Bidouffe 2 Mar 10, 2022
Implementation of the paper 'Sentence Bottleneck Autoencoders from Transformer Language Models'

Introduction This repository contains the code for the paper Sentence Bottleneck Autoencoders from Transformer Language Models by Ivan Montero, Nikola

Ivan Montero 14 Dec 28, 2022
WikipediaBot from mohirdev.uz

wiki-bot WikipediaBot from mohirdev.uz Requirements wikipedia aiogram Installing wiki/aiogram pip install wikipedia pip install aiogram

Muhammad Ali 5 Sep 28, 2022