Skip to main content

🔥 Fastest & Simplest Python Package For Instagram Automation

Project description

Ensta - Free Instagram API

PyPI PyPI - Python Version Downloads Twitter Share

Ensta uses Instagram's Internal Web API for data scraping which makes it a reliable choice over other third-party libraries. Also unlike other libraries, ensta always remains up-to-date.

Two type of classes are supported - Guest & Host.

Installation

Run this command:

$ pip install ensta --upgrade

Supported Actions

You can do a lot with ensta, here's some code:

Username, Password & SessionID Login

Login using Username & Password:

from ensta import Host

host = Host(username, password)

Login using SessionID:

from ensta import BaseHost

host = BaseHost(session_id)
Upload Posts
from ensta import Host

host = Host(username, password)

host.upload_post(
    photo_path="Picture.jpg",
    caption="Travelling 🌆",
)
Check Username Availability
from ensta import Guest

guest = Guest()

print(guest.username_availability("theusernameiwant"))
Fetch Profile Data
from ensta import Host

host = Host(username, password)
profile = host.profile("leomessi")

print(profile.full_name)
print(profile.biography)
print(profile.follower_count)
Convert Username to UID, and vice versa.
from ensta import Host

host = Host(username, password)

username = host.get_username(427553890)
uid = host.get_uid("leomessi")

print(username, uid)
Follow / Unfollow Users
from ensta import Host

host = Host(username, password)

print(host.follow("leomessi"))
print(host.unfollow("leomessi"))
Generate Followers / Followings List
from ensta import Host

host = Host(username, password)

followers = host.followers("leomessi", count=100)  # Want full list? Set count to '0'
followings = host.followings("leomessi", count=100)  # Want full list? Set count to '0'

for user in followers:
    print(user.username)

for user in followings:
    print(user.username)
Switch Account Type - Public/Private
from ensta import Host

host = Host(username, password)

print(host.switch_to_public_account())
print(host.switch_to_private_account())
Fetch Someone's Posts
from ensta import Host

host = Host(username, password)
posts = host.posts("leomessi", 100)  # Want full list? Set count to '0'

for post in posts:
    print(post.caption_text)
    print(post.like_count)
    
    ...
Fetch Data of Individual Post
from ensta import Host

host = Host(username, password)
post = host.post("https://www.instagram.com/p/Czgyw07t_c3/")

print(post.caption_text)
print(post.like_count)

...
Like/Unlike Posts
...

post.like()
post.unlike()
Edit Biography, Display Name
from ensta import Host

host = Host(username, password)

host.change_display_name("Lionel Messi")
host.change_bio("Athlete")
Fetch Your Email, Gender, Birthday, etc.
from ensta import Host

host = Host(username, password)
me = host.private_info()

print(me.email)
print(me.gender)
print(me.birthday)

Any missing feature? Raise an issue.

Host Mode

Requires login through Username/Password or SessionId. Can fetch data that requires login. Can update your profile info.

from ensta import Host

host = Host(username, password)

print(host.profile("leomessi"))
print(host.follow("leomessi"))
print(host.change_bio("hello"))

Guest Mode

Doesn't require login but is limited to certain actions.

from ensta import Guest

guest = Guest()

print(guest.profile("leomessi"))
print(guest.get_uid("leomessi"))
print(guest.username_availability("nevergiveup"))

❤️ Support Me

If you think this library is useful, please consider donating:

Disclaimer

This is a third-party package, and is not associated with Instagram. It doesn't promote activities that violate Instagram's Community Guidelines such as spamming users, misusing data etc. You are solely responsible for all the actions you take using this package.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

ensta-4.9.tar.gz (19.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ensta-4.9-py3-none-any.whl (22.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ensta-4.9.tar.gz
Algorithm Hash digest
SHA256 4c47375ee0c88ce1361202421d2ea4a545cc70fd8c425c9473dcfab10f869a3d
MD5 dfcfcbe22807f49e11739333342aa25a
BLAKE2b-256 cde1a541c9e4e3d70c8caddc681e762127d9d6111a256ad495776aea8acedc25

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ensta-4.9-py3-none-any.whl
Algorithm Hash digest
SHA256 a055ca14e757a2b47ca3b86bc588303addc4d95199beaa2bade40102fa2e5e5c
MD5 60f3b688088036f1695aca191978497c
BLAKE2b-256 07223558f0e48d6ce706196e80d8720a383178e740b89a5561a1749a4cbcd1ec

See more details on using hashes here.

Supported by

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