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 a combination of Instagram's Web API & Mobile API making 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.

🌟 Just a minute!

Ensta is still in it's early stages and requires your support. Don't forget to give a star. Thank you!

Installation

$ pip install ensta

Supported Actions

Tap on the headings to view 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)
2FA Login (TOTP)
from ensta import Host

host = Host(username, password, totp_token=token)
Upload Photo (Single Post)
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)
Username to UserID, 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 Feed
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

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 limited features.

from ensta import Guest

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

print(profile.biography)

Discord Community

Ask questions, discuss upcoming features and meet other developers.

Legal

This is a third party library and not associated with Instagram. We're strictly against spam. You are liable for all the actions you take.

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.4.2.tar.gz (26.3 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.4.2-py3-none-any.whl (31.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ensta-5.0.4.2.tar.gz
  • Upload date:
  • Size: 26.3 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.4.2.tar.gz
Algorithm Hash digest
SHA256 e1d26d0c183df12a2985fcb28e3cd82c8e41f6ae380764fe4d43401d60393c49
MD5 416307f9568ff4eb0f5e9c61441ce7ee
BLAKE2b-256 1d0da711d5909055f257ae9d496fce0ec6c04b1d5c1c4da959fd6491d9e7f280

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ensta-5.0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 31.6 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.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7d3bc3bb27fcc56cd87925a3cb8c713f344258bdaed659b99adba3c42f21413f
MD5 a85d714c946ddbcacf3b82fb7ed57a62
BLAKE2b-256 da27fd2fd9b2c080d5d5bcf6b53f16cfd3df6b68238dce4c4b7c6419ab9c7df7

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