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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file ensta-2.2.tar.gz.

File metadata

  • Download URL: ensta-2.2.tar.gz
  • Upload date:
  • Size: 12.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for ensta-2.2.tar.gz
Algorithm Hash digest
SHA256 392e9026751011fddd4b3df5bc68d72a09ba1e21bcd894ec20a14bbf84f9f54f
MD5 4dbe6aea09cf4207cfc798b852b08aad
BLAKE2b-256 e77a31624262907e0d1d18199ab9b2917e4b39970a0f731213f603c1466ff252

See more details on using hashes here.

Provenance

File details

Details for the file ensta-2.2-py3-none-any.whl.

File metadata

  • Download URL: ensta-2.2-py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for ensta-2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ae694a931542103f4df345473f175932a1ff774b191a621bd3b27bb86f04205f
MD5 472fb8ba4e89b60ae56abaa22ce81b1f
BLAKE2b-256 486eea33d1b43e18b899cf18a676c44591f1950156671fa62a5b5091ddacf892

See more details on using hashes here.

Provenance

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