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
Trust-minimized Bitcoin wallet

coldcore Trust-minimized, airgapped Bitcoin management This is experimental software. Wait for a formal release before use with real funds. A trust-mi

James O'Beirne 121 Jan 01, 2023
A Python app to serve Conveyor room requests and run approvals through Slack

✨ CONVEYOR FOR SLACK ✨ This is a friendly little Python app that will allow you to integrate your instance of Conveyor with your Slack workspace. In o

Vivienne 4 Sep 27, 2021
Check your accounts/tokens fast with our checker!

Discord_Account_Checker How to use? Installing library's pip install -r reqs.txt Loading accounts Load your accounts to accounts.txt file. Launch pyth

1 Jan 11, 2022
A simple discord bot based on python

A simple discord bot based on python

SENPAI LEGEND 2 Jul 24, 2022
The first open-source PyTgCalls-based project.

SU Music Player — The first open-source PyTgCalls based Pyrogram bot to play music in voice chats Requirements FFmpeg NodeJS 15+ Python 3.7+ Deploymen

Calls Music 74 Nov 19, 2022
Emo-Fun is a bot which emojifies the text you send it

About Emo-Fun is a bot which emojifies the text you send it. It is easier to understand by an example Input : Hey this is to show my working!! Output

Suvodeep Sinha 3 Sep 30, 2022
A Discord bot to easily and quickly format your JSON data

Invite PrettyJSON to your Discord server Table of contents About the project What is JSON? What is pretty printing? How to use Input options Command I

Sem 4 Jan 24, 2022
This is a translator that i made by myself in python with the 'googletrans' library

Translator-Python This is a translator that i made by myself in python with the 'googletrans' library This application completely made in python allow

Thadeuks 2 Jun 17, 2022
Powerful Url uploader bot With Mongodb support 🔥

Uploader X Bot Telegram RoBot to Upload Links. Features: 👉 Upload YouTube-dl Supported Links to Telegram. 👉 Upload HTTP/HTTPS as File/Video to Teleg

C͡linton Abraꫝam 250 Jan 06, 2023
Simple Bot With Python 3.8+ For Converstaion Your Media

Media-Conversation Simple Bot With Python 3.8+ For Converstaion Your Media

Farzin 2 Dec 06, 2021
It's a simple python script to take backup of directories (compressing) then the same to move your mentioned S3 bucket with the help of AWS IAM User.

Directory Backup Moved to S3 (Pyscript) Description Here it's a python script that needs to use this script simply create a directory backup and moved

Yousaf K Hamza 3 Mar 04, 2022
pymobiledevice fork with more recent coding standards and many more features

Description Features Installation Usage Sending your own messages Lockdown messages Instruments messages Example Lockdown services com.apple.instrumen

255 Dec 28, 2022
Discovery is an open-source Discord Bot with the main features Tickets, Moderation, Giveaways and Reaction roles.

Discovery is an open-source Discord Bot with the main features Tickets, Moderation, Giveaways and Reaction roles.

1 Dec 29, 2021
A Pythonic wrapper for the Wikipedia API

Wikipedia Wikipedia is a Python library that makes it easy to access and parse data from Wikipedia. Search Wikipedia, get article summaries, get data

Jonathan Goldsmith 2.5k Dec 28, 2022
Código que Utiliza Programação Dinâmica para resolver o problema da Moeda

Programação Dinâmica: Modelo baseado em recursão Utiliza a técnica de Memorização Não pode ser aplicada quando existe dependência entre as respostas G

Hemili Beatriz 1 Jan 08, 2022
Using multiple API sources, create an app that allows users to filter through random locations based on their temperature range choices.

World_weather_analysis Overview Using multiple API sources, create an app that allows users to filter through random locations based on their temperat

Jason Boyer 2 Sep 16, 2022
DeFi wallet on Chia Network.

DeFi wallet on Chia Network.

GobyWallet 21 Aug 12, 2022
Pythonic event-processing library based on decorators

Process Events In Style This library aims to simplify the common pattern of event processing. It simplifies the process of filtering, dispatching and

Nicolas Marier 3 Sep 01, 2022
Save data from Instagram takeout to a SQLite database

instagram-to-sqlite Save data from a Instagram takeout to a SQLite database. Mise En Place git clone https://github.com/gavindsouza/instagram-to-sqlit

gavin 8 Dec 13, 2022
Video-Player - Telegram Music/ Video Streaming Bot Using Pytgcalls

Video Player 🔥 ᴢᴀɪᴅ ᴠᴄ ᴘʟᴀyᴇʀ ɪꜱ ᴀ ᴛᴇʟᴇɢʀᴀᴍ ᴘʀᴏᴊᴇᴄᴛ ʙᴀꜱᴇᴅ ᴏɴ ᴘʏʀᴏɢʀᴀᴍ ꜰᴏʀ ᴘʟᴀʏ

Zaid 16 Nov 30, 2022