Skip to main content

🔥 Fastest & Simplest Python Package For Instagram Automation

Project description

🤖 Ensta - Simple Instagram API

PyPI PyPI - Python Version PyPI - Downloads Twitter URL

This library lets you use Instagram's Internal Web API through simple functions and classes, that can help developers like you build projects with a few and reliable lines of code.

It supports three two of classes - Guest & Host.

"Buy me a coffee"

Installation

To install this library using Python's PIP, run this command in a command-line interface:

pip install ensta

To upgrade to the latest version, run:

pip install ensta --upgrade

🧔🏻‍♂️ Guest Mode

This mode doesn't require login and can be used to fetch publicly available data from Instagram's Servers. Following methods are supported till now:

  • Check if username is available for registration
  • Fetch someone's profile data
  • Convert username to userid
  • Convert userid to username

Here's an example where an instance of Guest Class is created to fetch Cristiano Ronaldo's profile information:

from ensta import Guest

guest = Guest()
profile = guest.profile("cristiano")

if profile is None:
    print("Something went wrong.")
else:
    print(profile.biography)
    print(profile.follower_count)
    print(profile.following_count)

🧔🏻‍♂️ Host Mode

This mode requires login through SessionID. The SessionID should be passed as an argument while initializing this class. It can be used to fetch data that requires login. Additionally, users can perform several actions on their profile.

These are the methods supported till now:

  • Check authentication status of the user
  • Send follow request to an account
  • Follow/unfollow accounts
  • Fetch someone's follower/following list
  • Toggle account privacy - 'Public' or 'Private'

Here's an example where an instance of Host Class is created to follow Cristiano Ronaldo's account:

from ensta import Host

sessionid = "123456:abcdefg"  # Place your SessionId here

host = Host(sessionid)
status = host.follow("cristiano")

if status is None:
    print("Something went wrong.")
else:
    if status.following:
        print("Following!")
    
    elif status.follow_requested:
        print("Requested to follow!")

Important

Every function should return None on failure. So, it's recommended to an add if statement before using the actual data to avoid TypeError. Here's an example:

from ensta import Guest

guest = Guest()
available = guest.username_availability("cristiano")

if available is None:  # Operation failed
    print("Something went wrong.")
else:
    print(available)

Session ID

When you log in to instagram.com in your browser, your browser store your credentials in the form of Cookies. The type of cookie that instagram uses to remember your session is 'SessionID'.

In order to use the Host Class, you need to pass this cookie as an argument so that Ensta can use it to log into your account. Follow these steps to get your SessionID:

  • Visit Instagram.com and log into your account.
  • Once you're logged in, open DevTools (Ctrl + Shift + I).
  • Switch to Application tab.
  • Under Storage options, expand the Cookies tab, and tap the first item.
  • Once done, you will see the list of all cookies.
  • Copy value of cookie named 'sessionid' and pass it as an argument whenever you use the Host Class.

An alternative way to automatically fetch SessionID is to run the fetch-sessionid.py script. Currently, this script can only fetch cookies from Google Chrome, and not any other browser.

Donate ❤️

If this library has added value to your projects, you may consider supporting me in the development of this library by donating here:

"Buy me a coffee"

Disclaimer

This is a third-party library, not an official library from Instagram. The use of the library does not promote creation of bot accounts or spamming Instagram Users. You are liable for all the actions you take through this library. Use of such libraries maybe against Instagram's Community Guidelines.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ensta-2.2.tar.gz (12.4 kB view hashes)

Uploaded Source

Built Distribution

ensta-2.2-py3-none-any.whl (13.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page