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 stays up-to-date.

Both authenticated & anonymous requests are supported.

Installation

Run this command:

$ pip install ensta --upgrade

Supported Actions

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

Proxy Support
from ensta import Host

host = Host(username, password, proxy={"http": "http://1.2.3.4", "https": "https://1.2.3.4"})
Username Password Login
from ensta import Host

host = Host(username, password)
Upload Photo
from ensta import Host

host = Host(username, password)

upload = host.get_upload_id("Picture.jpg")

host.upload_photo(upload, caption="Travelling 🌆")
Upload Multiple Photos (Single Post)
from ensta import Host

host = Host(username, password)

upload1 = host.get_upload_id("First.jpg")
upload2 = host.get_upload_id("Second.jpg")
upload3 = host.get_upload_id("Third.jpg")

host.upload_photos([upload1, upload2, upload3], caption="Travelling 🌆")
Upload Reel
from ensta import Host

host = Host(username, password)

host.upload_reel(
    video_path="Video.mp4",
    thumbnail_path="Thumbnail.jpg",
    caption="Enjoying the winter! ⛄"
)
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)    
Add Comment on Posts
from ensta import Host

host = Host(username, password)

post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")

host.comment("Looks great!", post_id)
Like/Unlike Posts
from ensta import Host

host = Host(username, password)

post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")

host.like(post_id)
host.unlike(post_id)
Fetch Post's Likers
from ensta import Host

host = Host(username, password)

post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
likers = host.likers(post_id)

for user in likers.users:
    print(user.username)
    print(user.profile_picture_url)
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 (Recommended)

Requires login through username & password.

from ensta import Host

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

print(profile.biography)

Guest Mode

Doesn't require login but has very limited features. Doesn't always work, so Host Mode is recommended.

from ensta import Guest

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

print(profile.biography)

❤️ Support Me

Support ensta's development by making a donation. Your donation ensures continuous improvement in ensta.

👮 Legal

This is a third-party library and not associated with Instagram. We are strictly against any activity that may violate Instagram's Community Guidelines or Terms of use. You are the only one liable for such actions.

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-5.0.3.5.tar.gz (21.6 kB view details)

Uploaded Source

Built Distribution

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

ensta-5.0.3.5-py3-none-any.whl (25.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ensta-5.0.3.5.tar.gz
Algorithm Hash digest
SHA256 fcf8e3e73eca2a0b1bde65386176f0c876bd3edb69ea2e022f6ecc47547d8bf2
MD5 4310196d467a4f870673f491e5107239
BLAKE2b-256 f4713deade186055160ecb071cd7e68b101314ca328f6458043ea75974435d94

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ensta-5.0.3.5-py3-none-any.whl
Algorithm Hash digest
SHA256 76f1dd35860afc451cdef4f17a865ac5cd486652203dc2f665d2aad5c6b19623
MD5 d1b7ea134f291f53a4ba7632c3cd19cd
BLAKE2b-256 77163be55d92a697c8e582bda03e30a12ad0c62ee2dd42562e8d4701050f1743

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